linux/arch/powerpc/platforms/iseries
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
..
call_hpt.h [POWERPC] Kill typedef-ed structs for hash PTEs and BATs 2007-06-14 22:30:16 +10:00
call_pci.h
call_sm.h
dt.c powerpc/iseries: Remove compiler version dependent hack 2009-10-27 16:42:39 +11:00
exception.h powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
exception.S powerpc: Dynamically allocate pacas 2010-03-09 11:52:52 +11:00
htab.c powerpc: Replace old style lock initializer 2009-11-24 14:31:28 +11:00
hvcall.S
hvlog.c
hvlpconfig.c
iommu.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
ipl_parms.h [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00
irq.c powerpc: Remove whitespace in irq chip name fields 2010-02-17 14:02:48 +11:00
irq.h [POWERPC] iSeries_init_IRQ non-PCI tidy 2007-11-08 14:15:33 +11:00
it_exp_vpd_panel.h
it_lp_naca.h [POWERPC] Typo fixes interrrupt -> interrupt 2007-08-17 11:01:51 +10:00
Kconfig viocd: needs to depend on BLOCK 2009-05-12 13:28:23 +02:00
ksyms.c [POWERPC] Lazy interrupt disabling for 64-bit machines 2006-10-16 16:31:36 +10:00
lpardata.c [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00
lpevents.c powerpc: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
main_store.h
Makefile powerpc/iseries: Remove compiler version dependent hack 2009-10-27 16:42:39 +11:00
mf.c powerpc/iseries: Convert to proc_fops 2009-12-18 14:53:37 +11:00
misc.S [POWERPC] Lazy interrupt disabling for 64-bit machines 2006-10-16 16:31:36 +10:00
naca.h [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00
pci.c powerpc/pci: clean up direct access to sysdata by iseries platform 2009-05-21 15:44:26 +10:00
pci.h [POWERPC] fix iSeries PCI resource management 2007-12-20 16:18:10 +11:00
proc.c powerpc: Remove trailing space in messages 2010-02-09 13:56:23 +11:00
processor_vpd.h
release_data.h [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00
setup.c powerpc: Remove trailing space in messages 2010-02-09 13:56:23 +11:00
setup.h [POWERPC] iSeries: Fix sparse warnings in setup.c 2007-12-03 13:56:27 +11:00
smp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smp.h
spcomm_area.h [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00
vio.c powerpc/iseries: Initialise on-stack completion 2010-01-15 13:26:14 +11:00
viopath.c powerpc/iseries: use DECLARE_COMPLETION_ONSTACK for non-constant completion 2009-12-18 14:55:44 +11:00
vpd_areas.h [POWERPC] iSeries: Localise and constify some iSeries data 2008-04-15 21:21:25 +10:00