linux/arch
Michael Ellerman 1426d5a3bd powerpc: Dynamically allocate pacas
On 64-bit kernels we currently have a 512 byte struct paca_struct for
each cpu (usually just called "the paca"). Currently they are statically
allocated, which means a kernel built for a large number of cpus will
waste a lot of space if it's booted on a machine with few cpus.

We can avoid that by only allocating the number of pacas we need at
boot. However this is complicated by the fact that we need to access
the paca before we know how many cpus there are in the system.

The solution is to dynamically allocate enough space for NR_CPUS pacas,
but then later in boot when we know how many cpus we have, we free any
unused pacas.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-03-09 11:52:52 +11:00
..
alpha alpha: PTR_ERR overwrites -EINVAL in syscall osf_mount 2010-03-06 11:26:27 -08:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2010-03-08 10:17:20 -08:00
avr32 USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
blackfin Merge branch 'master' into percpu 2010-02-02 14:38:15 +09:00
cris cris v32: typo in crisv32_arbiter_unwatch()? 2010-03-06 11:26:28 -08:00
frv frv: remove pci_dma_sync_single() and pci_dma_sync_sg() 2010-03-06 11:26:27 -08:00
h8300 m68k{,nommu}/h8300: Remove obsolete comment about map_chunk 2010-02-27 18:27:14 +01:00
ia64 Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
m32r Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
m68k Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
m68knommu m68knommu: NPTL support for uClinux 2010-02-27 18:35:22 +01:00
microblaze Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
mips sysdev: Pass attribute in sysdev_class attributes show/store 2010-03-07 17:04:47 -08:00
mn10300 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
parisc parisc: use __ratelimit in unaligned.c 2010-03-06 22:54:59 +00:00
powerpc powerpc: Dynamically allocate pacas 2010-03-09 11:52:52 +11:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2010-03-08 10:17:20 -08:00
score Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
sh Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2010-03-04 08:24:47 -08:00
um elf coredump: add extended numbering support 2010-03-06 11:26:46 -08:00
x86 sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes 2010-03-07 17:04:51 -08:00
xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-03-02 07:55:08 -08:00
.gitignore
Kconfig Merge branch 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-05 10:50:22 -08:00