summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/page-flags.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 282902bb9816..9b3496e2aac5 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -114,9 +114,10 @@ extern void get_full_page_state(struct page_state *ret);
#define mod_page_state(member, delta) \
do { \
- int cpu = get_cpu(); \
- per_cpu(page_states, cpu).member += (delta); \
- put_cpu(); \
+ unsigned long flags; \
+ local_irq_save(flags); \
+ __get_cpu_var(page_states).member += (delta); \
+ local_irq_restore(flags); \
} while (0)
#define inc_page_state(member) mod_page_state(member, 1UL)