On 3.9.2010 19.26, Tejun Heo wrote:
quoted text > 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
--
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [PATCH 3/3] percpu: use percpu allocator on UP too , Pekka Enberg , (Fri Sep 3, 11:54 pm)