Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 319774e2 authored by Wu Fengguang's avatar Wu Fengguang Committed by Linus Torvalds
Browse files

mem-hotplug: separate setup_per_cpu_pageset() into separate functions



No behavior change here.

Move some of setup_per_cpu_pageset() code into a new function
setup_zone_pageset() that will be useful for memory hotplug.

Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Signed-off-by: default avatarHaicheng Li <haicheng.li@linux.intel.com>
Reviewed-by: default avatarAndi Kleen <andi.kleen@intel.com>
Reviewed-by: default avatarChristoph Lameter <cl@linux-foundation.org>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0faa5638
Loading
Loading
Loading
Loading
+20 −17
Original line number Diff line number Diff line
@@ -3292,18 +3292,10 @@ static void setup_pagelist_highmark(struct per_cpu_pageset *p,
		pcp->batch = PAGE_SHIFT * 8;
}

/*
 * Allocate per cpu pagesets and initialize them.
 * Before this call only boot pagesets were available.
 * Boot pagesets will no longer be used by this processorr
 * after setup_per_cpu_pageset().
 */
void __init setup_per_cpu_pageset(void)
static __meminit void setup_zone_pageset(struct zone *zone)
{
	struct zone *zone;
	int cpu;

	for_each_populated_zone(zone) {
	zone->pageset = alloc_percpu(struct per_cpu_pageset);

	for_each_possible_cpu(cpu) {
@@ -3317,6 +3309,17 @@ void __init setup_per_cpu_pageset(void)
					percpu_pagelist_fraction));
	}
}

/*
 * Allocate per cpu pagesets and initialize them.
 * Before this call only boot pagesets were available.
 */
void __init setup_per_cpu_pageset(void)
{
	struct zone *zone;

	for_each_populated_zone(zone)
		setup_zone_pageset(zone);
}

static noinline __init_refok