summaryrefslogtreecommitdiffstats
path: root/mm/memory.c
diff options
context:
space:
mode:
authorMartin Peschke2006-09-26 08:31:21 +0200
committerLinus Torvalds2006-09-26 17:48:47 +0200
commit7ff6f08295d90ab20d25200ef485ebb45b1b8d71 (patch)
tree4c3410dcf5191ab574304f3ffbafd675545c2297 /mm/memory.c
parent[PATCH] out of memory notifier (diff)
downloadkernel-qcow2-linux-7ff6f08295d90ab20d25200ef485ebb45b1b8d71.tar.gz
kernel-qcow2-linux-7ff6f08295d90ab20d25200ef485ebb45b1b8d71.tar.xz
kernel-qcow2-linux-7ff6f08295d90ab20d25200ef485ebb45b1b8d71.zip
[PATCH] CPU hotplug compatible alloc_percpu()
This patch splits alloc_percpu() up into two phases. Likewise for free_percpu(). This allows clients to limit initial allocations to online cpu's, and to populate or depopulate per-cpu data at run time as needed: struct my_struct *obj; /* initial allocation for online cpu's */ obj = percpu_alloc(sizeof(struct my_struct), GFP_KERNEL); ... /* populate per-cpu data for cpu coming online */ ptr = percpu_populate(obj, sizeof(struct my_struct), GFP_KERNEL, cpu); ... /* access per-cpu object */ ptr = percpu_ptr(obj, smp_processor_id()); ... /* depopulate per-cpu data for cpu going offline */ percpu_depopulate(obj, cpu); ... /* final removal */ percpu_free(obj); Signed-off-by: Martin Peschke <mp3@de.ibm.com> Cc: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/memory.c')
0 files changed, 0 insertions, 0 deletions