diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-02-01 23:56:21 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-02-01 23:56:21 -0500 |
commit | 31500bd444f68f43f7b3fffa2e4288c9bd9775fd (patch) | |
tree | 0704b9545b53afa36b612dd0b08dd72a80abb735 | |
parent | 9a23fc357c2da00d983829ddcca9cf4f9f4f3c80 (diff) | |
download | rt-patches-31500bd444f68f43f7b3fffa2e4288c9bd9775fd.tar.gz |
refresh mm-make-vmstat-rt-aware.patch
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | mm-make-vmstat-rt-aware.patch | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/mm-make-vmstat-rt-aware.patch b/mm-make-vmstat-rt-aware.patch index 36de70d..d63e061 100644 --- a/mm-make-vmstat-rt-aware.patch +++ b/mm-make-vmstat-rt-aware.patch @@ -1,4 +1,4 @@ -From b2cae28be274cfa5bc4cde3dc723ae7147c47cae Mon Sep 17 00:00:00 2001 +From a2ed80549e96cdd31551fc9757850cb6deec710a Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:13 -0500 Subject: [PATCH] mm: make vmstat -rt aware @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h -index ee03bba..60543ed 100644 +index 117f0dd..1463fc7 100644 --- a/include/linux/vmstat.h +++ b/include/linux/vmstat.h @@ -78,7 +78,12 @@ DECLARE_PER_CPU(struct vm_event_state, vm_event_states); @@ -21,7 +21,7 @@ index ee03bba..60543ed 100644 + get_cpu_var(vm_event_states).event[item]++; + put_cpu(); +#else - __this_cpu_inc(per_cpu_var(vm_event_states).event[item]); + __this_cpu_inc(vm_event_states.event[item]); +#endif } @@ -34,29 +34,26 @@ index ee03bba..60543ed 100644 + get_cpu_var(vm_event_states).event[item] += delta; + put_cpu(); +#else - __this_cpu_add(per_cpu_var(vm_event_states).event[item], delta); + __this_cpu_add(vm_event_states.event[item], delta); +#endif } static inline void count_vm_events(enum vm_event_item item, long delta) diff --git a/mm/vmstat.c b/mm/vmstat.c -index 6051fba..ea832b5 100644 +index fc5aa18..cc39100 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -149,17 +149,16 @@ static void refresh_zone_stat_thresholds(void) +@@ -150,8 +150,7 @@ static void refresh_zone_stat_thresholds(void) void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, int delta) { -- struct per_cpu_pageset *pcp = zone_pcp(zone, smp_processor_id()); -+ struct per_cpu_pageset *pcp = zone_pcp(zone, get_cpu()); - s8 *p = pcp->vm_stat_diff + item; -- long x; +- struct per_cpu_pageset *pcp = this_cpu_ptr(zone->pageset); - -- x = delta + *p; -+ long x = delta + *p; ++ struct per_cpu_pageset *pcp = per_cpu_ptr(zone->pageset, get_cpu()); + s8 *p = pcp->vm_stat_diff + item; + long x; - if (unlikely(x > pcp->stat_threshold || x < -pcp->stat_threshold)) { - zone_page_state_add(x, zone, item); +@@ -162,6 +161,7 @@ void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, x = 0; } *p = x; @@ -64,16 +61,16 @@ index 6051fba..ea832b5 100644 } EXPORT_SYMBOL(__mod_zone_page_state); -@@ -202,7 +201,7 @@ EXPORT_SYMBOL(mod_zone_page_state); +@@ -204,7 +204,7 @@ EXPORT_SYMBOL(mod_zone_page_state); */ void __inc_zone_state(struct zone *zone, enum zone_stat_item item) { -- struct per_cpu_pageset *pcp = zone_pcp(zone, smp_processor_id()); -+ struct per_cpu_pageset *pcp = zone_pcp(zone, get_cpu()); +- struct per_cpu_pageset *pcp = this_cpu_ptr(zone->pageset); ++ struct per_cpu_pageset *pcp = per_cpu_ptr(zone->pageset, get_cpu()); s8 *p = pcp->vm_stat_diff + item; (*p)++; -@@ -213,17 +212,28 @@ void __inc_zone_state(struct zone *zone, enum zone_stat_item item) +@@ -215,17 +215,28 @@ void __inc_zone_state(struct zone *zone, enum zone_stat_item item) zone_page_state_add(*p + overstep, zone, item); *p = -overstep; } @@ -98,12 +95,12 @@ index 6051fba..ea832b5 100644 void __dec_zone_state(struct zone *zone, enum zone_stat_item item) { -- struct per_cpu_pageset *pcp = zone_pcp(zone, smp_processor_id()); -+ struct per_cpu_pageset *pcp = zone_pcp(zone, get_cpu()); +- struct per_cpu_pageset *pcp = this_cpu_ptr(zone->pageset); ++ struct per_cpu_pageset *pcp = per_cpu_ptr(zone->pageset, get_cpu()); s8 *p = pcp->vm_stat_diff + item; (*p)--; -@@ -234,6 +244,7 @@ void __dec_zone_state(struct zone *zone, enum zone_stat_item item) +@@ -236,6 +247,7 @@ void __dec_zone_state(struct zone *zone, enum zone_stat_item item) zone_page_state_add(*p - overstep, zone, item); *p = overstep; } |