summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-01 23:56:21 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-01 23:56:21 -0500
commit31500bd444f68f43f7b3fffa2e4288c9bd9775fd (patch)
tree0704b9545b53afa36b612dd0b08dd72a80abb735
parent9a23fc357c2da00d983829ddcca9cf4f9f4f3c80 (diff)
downloadrt-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.patch39
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;
}