summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2014-08-06 16:07:18 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 18:01:20 -0700
commitbb0b6dffa2ccfbd9747ad0cc87c7459622896e60 (patch)
tree43769dceca0502355d6853e90e62dae6769eea48 /mm
parent0d5d823ab4e608ec7b52ac4410de4cb74bbe0edd (diff)
downloadlinux-stable-bb0b6dffa2ccfbd9747ad0cc87c7459622896e60.tar.gz
linux-stable-bb0b6dffa2ccfbd9747ad0cc87c7459622896e60.tar.bz2
linux-stable-bb0b6dffa2ccfbd9747ad0cc87c7459622896e60.zip
mm: vmscan: only update per-cpu thresholds for online CPU
When kswapd is awake reclaiming, the per-cpu stat thresholds are lowered to get more accurate counts to avoid breaching watermarks. This threshold update iterates over all possible CPUs which is unnecessary. Only online CPUs need to be updated. If a new CPU is onlined, refresh_zone_stat_thresholds() will set the thresholds correctly. Signed-off-by: Mel Gorman <mgorman@suse.de> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/vmstat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/vmstat.c b/mm/vmstat.c
index e574e883fa70..e9ab104b956f 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -200,7 +200,7 @@ void set_pgdat_percpu_threshold(pg_data_t *pgdat,
continue;
threshold = (*calculate_pressure)(zone);
- for_each_possible_cpu(cpu)
+ for_each_online_cpu(cpu)
per_cpu_ptr(zone->pageset, cpu)->stat_threshold
= threshold;
}