linux/arch
Tejun Heo 2f39e637ea percpu: allow non-linear / sparse cpu -> unit mapping
Currently cpu and unit are always identity mapped.  To allow more
efficient large page support on NUMA and lazy allocation for possible
but offline cpus, cpu -> unit mapping needs to be non-linear and/or
sparse.  This can be easily implemented by adding a cpu -> unit
mapping array and using it whenever looking up the matching unit for a
cpu.

The only unusal conversion is in pcpu_chunk_addr_search().  The passed
in address is unit0 based and unit0 might not be in use so it needs to
be converted to address of an in-use unit.  This is easily done by
adding the unit offset for the current processor.

[ Impact: allows non-linear/sparse cpu -> unit mapping, no visible change yet ]

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: David Miller <davem@davemloft.net>
2009-07-04 08:11:00 +09:00
..
alpha alpha: fix percpu build breakage 2009-06-30 18:55:59 -07:00
arm Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
avr32 linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
blackfin Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
cris Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
frv Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
h8300 Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
ia64 Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
m32r linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
m68k linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
m68knommu linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
microblaze linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
mips Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
mn10300 Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
parisc linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
powerpc Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
s390 Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
sh Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
sparc percpu: allow non-linear / sparse cpu -> unit mapping 2009-07-04 08:11:00 +09:00
um Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
x86 x86,percpu: generalize lpage first chunk allocator 2009-07-04 08:10:59 +09:00
xtensa Merge branch 'master' into for-next 2009-07-04 07:13:18 +09:00
.gitignore
Kconfig gcov: add gcov profiling infrastructure 2009-06-18 13:03:57 -07:00