diff options
author | Cody P Schafer <cody@linux.vnet.ibm.com> | 2013-07-03 18:01:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:27 -0400 |
commit | 22a7f12b1606327f0e11fcdf9043ae00bf9917df (patch) | |
tree | d1e34a4bafc4fd5c6bafa3c1db6de94fe2ec9da8 /mm/page_alloc.c | |
parent | 0a647f3811d6af56405a819341ceac23e31d4572 (diff) |
mm/page_alloc: when handling percpu_pagelist_fraction, don't unneedly recalulate high
Simply moves calculation of the new 'high' value outside the
for_each_possible_cpu() loop, as it does not depend on the cpu.
Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Gilad Ben-Yossef <gilad@benyossef.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 8125263be60f..386de0f11bea 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -5575,7 +5575,6 @@ int lowmem_reserve_ratio_sysctl_handler(ctl_table *table, int write, | |||
5575 | * cpu. It is the fraction of total pages in each zone that a hot per cpu pagelist | 5575 | * cpu. It is the fraction of total pages in each zone that a hot per cpu pagelist |
5576 | * can have before it gets flushed back to buddy allocator. | 5576 | * can have before it gets flushed back to buddy allocator. |
5577 | */ | 5577 | */ |
5578 | |||
5579 | int percpu_pagelist_fraction_sysctl_handler(ctl_table *table, int write, | 5578 | int percpu_pagelist_fraction_sysctl_handler(ctl_table *table, int write, |
5580 | void __user *buffer, size_t *length, loff_t *ppos) | 5579 | void __user *buffer, size_t *length, loff_t *ppos) |
5581 | { | 5580 | { |
@@ -5589,12 +5588,11 @@ int percpu_pagelist_fraction_sysctl_handler(ctl_table *table, int write, | |||
5589 | 5588 | ||
5590 | mutex_lock(&pcp_batch_high_lock); | 5589 | mutex_lock(&pcp_batch_high_lock); |
5591 | for_each_populated_zone(zone) { | 5590 | for_each_populated_zone(zone) { |
5592 | for_each_possible_cpu(cpu) { | 5591 | unsigned long high; |
5593 | unsigned long high; | 5592 | high = zone->managed_pages / percpu_pagelist_fraction; |
5594 | high = zone->managed_pages / percpu_pagelist_fraction; | 5593 | for_each_possible_cpu(cpu) |
5595 | setup_pagelist_highmark( | 5594 | setup_pagelist_highmark( |
5596 | per_cpu_ptr(zone->pageset, cpu), high); | 5595 | per_cpu_ptr(zone->pageset, cpu), high); |
5597 | } | ||
5598 | } | 5596 | } |
5599 | mutex_unlock(&pcp_batch_high_lock); | 5597 | mutex_unlock(&pcp_batch_high_lock); |
5600 | return 0; | 5598 | return 0; |