Messages in this thread | | | Date | Sat, 04 Sep 2010 09:54:36 +0300 | From | Pekka Enberg <> | Subject | Re: [PATCH 3/3] percpu: use percpu allocator on UP too |
| |
On 3.9.2010 19.26, Tejun Heo wrote: > On UP, percpu allocations were redirected to kmalloc. This has the > following problems. > > * For certain amount of allocations (determined by > PERCPU_DYNAMIC_EARLY_SLOTS and PERCPU_DYNAMIC_EARLY_SIZE), percpu > allocator can be used before the usual kernel memory allocator is > brought online. On SMP, this is used to initialize the kernel > memory allocator. > > * percpu allocator honors alignment upto PAGE_SIZE but kmalloc() > doesn't. For example, workqueue makes use of larger alignments for > cpu_workqueues. > > Currently, users of percpu allocators need to handle UP differently, > which is somewhat fragile and ugly. Other than small amount of > memory, there isn't much to lose by enabling percpu allocator on UP. > It can simply use kernel memory based chunk allocation which was added > for SMP archs w/o MMUs. > > This patch removes mm/percpu_up.c, builds mm/percpu.c on UP too and > makes UP build use percpu-km. As percpu addresses and kernel > addresses are always identity mapped and static percpu variables don't > need any special treatment, nothing is arch dependent and mm/percpu.c > implements generic setup_per_cpu_areas() for UP. > > Signed-off-by: Tejun Heo<tj@kernel.org> > Cc: Christoph Lameter<cl@linux-foundation.org> > Cc: Pekka Enberg<penberg@cs.helsinki.fi>
Acked-by: Pekka Enberg <penberg@kernel.org>
Is this going into some public append-only branch I could cherry-pick the changeset from to my 'slub/cleanups' branch?
Pekka
| |