android_kernel_motorola_sm6225/arch/ia64/mm
Tejun Heo 36886478f5 ia64: allocate percpu area for cpu0 like percpu areas for other cpus
cpu0 used special percpu area reserved by the linker, __cpu0_per_cpu,
which is set up early in boot by head.S.  However, this doesn't
guarantee that the area will be on the same node as cpu0 and the
percpu area for cpu0 ends up very far away from percpu areas for other
cpus which cause problems for congruent percpu allocator.

This patch makes percpu area initialization allocate percpu area for
cpu0 like any other cpus and copy it from __cpu0_per_cpu which now
resides in the __init area.  This means that for cpu0, percpu area is
first setup at __cpu0_per_cpu early by head.S and then moved to an
area in the linear mapping during memory initialization and it's not
allowed to take a pointer to percpu variables between head.S and
memory initialization.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64 <linux-ia64@vger.kernel.org>
2009-10-02 13:28:56 +09:00
..
contig.c ia64: allocate percpu area for cpu0 like percpu areas for other cpus 2009-10-02 13:28:56 +09:00
discontig.c ia64: allocate percpu area for cpu0 like percpu areas for other cpus 2009-10-02 13:28:56 +09:00
extable.c [IA64] fix compile error in arch/ia64/mm/extable.c 2009-06-15 09:17:50 -07:00
fault.c Move FAULT_FLAG_xyz into handle_mm_fault() callers 2009-06-21 13:08:22 -07:00
hugetlbpage.c GRU Driver: hardware data structures 2008-07-30 09:41:47 -07:00
init.c ia64: don't alias VMALLOC_END to vmalloc_end 2009-10-02 13:28:55 +09:00
ioremap.c [IA64] make ioremap avoid unsupported attributes 2007-03-30 09:37:41 -07:00
Makefile [PATCH] ia64: ioremap: check EFI for valid memory attributes 2006-03-26 08:56:54 -08:00
numa.c mm: fix memmap init for handling memory hole 2009-02-18 15:37:55 -08:00
tlb.c [IA64] Convert ia64 to use int-ll64.h 2009-06-17 09:33:49 -07:00