diff options
author | Cody P Schafer <cody@linux.vnet.ibm.com> | 2013-07-03 18:01:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:27 -0400 |
commit | 56cef2b85c28d81efd39f2eeaddce28678756fe3 (patch) | |
tree | a68db9ff5a5b884d35b8c01bc32ef788d3a5b23c /mm/page_alloc.c | |
parent | dd1895e2c5c9ed3a791d1d8eb4a6a3e241ec9d6e (diff) |
mm/page_alloc: factor zone_pageset_init() out of setup_zone_pageset()
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 | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 2793ce50f316..ee6fe7faabad 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -4104,22 +4104,25 @@ static void setup_pagelist_highmark(struct per_cpu_pageset *p, | |||
4104 | pageset_update(&p->pcp, high, batch); | 4104 | pageset_update(&p->pcp, high, batch); |
4105 | } | 4105 | } |
4106 | 4106 | ||
4107 | static void __meminit zone_pageset_init(struct zone *zone, int cpu) | ||
4108 | { | ||
4109 | struct per_cpu_pageset *pcp = per_cpu_ptr(zone->pageset, cpu); | ||
4110 | |||
4111 | pageset_init(pcp); | ||
4112 | if (percpu_pagelist_fraction) | ||
4113 | setup_pagelist_highmark(pcp, | ||
4114 | (zone->managed_pages / | ||
4115 | percpu_pagelist_fraction)); | ||
4116 | else | ||
4117 | pageset_set_batch(pcp, zone_batchsize(zone)); | ||
4118 | } | ||
4119 | |||
4107 | static void __meminit setup_zone_pageset(struct zone *zone) | 4120 | static void __meminit setup_zone_pageset(struct zone *zone) |
4108 | { | 4121 | { |
4109 | int cpu; | 4122 | int cpu; |
4110 | |||
4111 | zone->pageset = alloc_percpu(struct per_cpu_pageset); | 4123 | zone->pageset = alloc_percpu(struct per_cpu_pageset); |
4112 | 4124 | for_each_possible_cpu(cpu) | |
4113 | for_each_possible_cpu(cpu) { | 4125 | zone_pageset_init(zone, cpu); |
4114 | struct per_cpu_pageset *pcp = per_cpu_ptr(zone->pageset, cpu); | ||
4115 | |||
4116 | setup_pageset(pcp, zone_batchsize(zone)); | ||
4117 | |||
4118 | if (percpu_pagelist_fraction) | ||
4119 | setup_pagelist_highmark(pcp, | ||
4120 | (zone->managed_pages / | ||
4121 | percpu_pagelist_fraction)); | ||
4122 | } | ||
4123 | } | 4126 | } |
4124 | 4127 | ||
4125 | /* | 4128 | /* |