[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C81ED2C.6000304@cs.helsinki.fi>
Date: Sat, 04 Sep 2010 09:54:36 +0300
From: Pekka Enberg <penberg@...helsinki.fi>
To: Tejun Heo <tj@...nel.org>
CC: Christoph Lameter <cl@...ux.com>,
Stephen Rothwell <sfr@...b.auug.org.au>,
linux-next@...r.kernel.org, linux-kernel@...r.kernel.org
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@...nel.org>
> Cc: Christoph Lameter<cl@...ux-foundation.org>
> Cc: Pekka Enberg<penberg@...helsinki.fi>
Acked-by: Pekka Enberg <penberg@...nel.org>
Is this going into some public append-only branch I could cherry-pick
the changeset from to my 'slub/cleanups' branch?
Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists