Re: [PATCH 3/3] percpu: use percpu allocator on UP too

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
Cc: Christoph Lameter<cl@xxxxxxxxxxxxxxxxxxxx>
Cc: Pekka Enberg<penberg@xxxxxxxxxxxxxx>

Acked-by: Pekka Enberg <penberg@xxxxxxxxxx>

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-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux