|
@@ -254,25 +254,12 @@ extern void arch_unmap_area_topdown(struct mm_struct *, unsigned long);
|
|
* The mm counters are not protected by its page_table_lock,
|
|
* The mm counters are not protected by its page_table_lock,
|
|
* so must be incremented atomically.
|
|
* so must be incremented atomically.
|
|
*/
|
|
*/
|
|
-#ifdef ATOMIC64_INIT
|
|
|
|
-#define set_mm_counter(mm, member, value) atomic64_set(&(mm)->_##member, value)
|
|
|
|
-#define get_mm_counter(mm, member) ((unsigned long)atomic64_read(&(mm)->_##member))
|
|
|
|
-#define add_mm_counter(mm, member, value) atomic64_add(value, &(mm)->_##member)
|
|
|
|
-#define inc_mm_counter(mm, member) atomic64_inc(&(mm)->_##member)
|
|
|
|
-#define dec_mm_counter(mm, member) atomic64_dec(&(mm)->_##member)
|
|
|
|
-typedef atomic64_t mm_counter_t;
|
|
|
|
-#else /* !ATOMIC64_INIT */
|
|
|
|
-/*
|
|
|
|
- * The counters wrap back to 0 at 2^32 * PAGE_SIZE,
|
|
|
|
- * that is, at 16TB if using 4kB page size.
|
|
|
|
- */
|
|
|
|
-#define set_mm_counter(mm, member, value) atomic_set(&(mm)->_##member, value)
|
|
|
|
-#define get_mm_counter(mm, member) ((unsigned long)atomic_read(&(mm)->_##member))
|
|
|
|
-#define add_mm_counter(mm, member, value) atomic_add(value, &(mm)->_##member)
|
|
|
|
-#define inc_mm_counter(mm, member) atomic_inc(&(mm)->_##member)
|
|
|
|
-#define dec_mm_counter(mm, member) atomic_dec(&(mm)->_##member)
|
|
|
|
-typedef atomic_t mm_counter_t;
|
|
|
|
-#endif /* !ATOMIC64_INIT */
|
|
|
|
|
|
+#define set_mm_counter(mm, member, value) atomic_long_set(&(mm)->_##member, value)
|
|
|
|
+#define get_mm_counter(mm, member) ((unsigned long)atomic_long_read(&(mm)->_##member))
|
|
|
|
+#define add_mm_counter(mm, member, value) atomic_long_add(value, &(mm)->_##member)
|
|
|
|
+#define inc_mm_counter(mm, member) atomic_long_inc(&(mm)->_##member)
|
|
|
|
+#define dec_mm_counter(mm, member) atomic_long_dec(&(mm)->_##member)
|
|
|
|
+typedef atomic_long_t mm_counter_t;
|
|
|
|
|
|
#else /* NR_CPUS < CONFIG_SPLIT_PTLOCK_CPUS */
|
|
#else /* NR_CPUS < CONFIG_SPLIT_PTLOCK_CPUS */
|
|
/*
|
|
/*
|