[PATCH] powerpc: Remove lppaca structure from the PACA
authorDavid Gibson <david@gibson.dropbear.id.au>
Thu, 12 Jan 2006 23:26:42 +0000 (10:26 +1100)
committerPaul Mackerras <paulus@samba.org>
Fri, 13 Jan 2006 10:17:39 +0000 (21:17 +1100)
commit3356bb9f7ba378a6e2709f9df95f4ea52111f4df
tree84f370df6e58cec63132f9acce492d585226e671
parente58c3495e6007af59382540bb21ee941e470d88d
[PATCH] powerpc: Remove lppaca structure from the PACA

At present the lppaca - the structure shared with the iSeries
hypervisor and phyp - is contained within the PACA, our own low-level
per-cpu structure.  This doesn't have to be so, the patch below
removes it, making a separate array of lppaca structures.

This saves approximately 500*NR_CPUS bytes of image size and kernel
memory, because we don't need aligning gap between the Linux and
hypervisor portions of every PACA.  On the other hand it means an
extra level of dereference in many accesses to the lppaca.

The patch also gets rid of several places where we assign the paca
address to a local variable for no particular reason.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 files changed:
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/irq.c
arch/powerpc/kernel/lparcfg.c
arch/powerpc/kernel/paca.c
arch/powerpc/kernel/time.c
arch/powerpc/lib/locks.c
arch/powerpc/platforms/iseries/irq.c
arch/powerpc/platforms/iseries/misc.S
arch/powerpc/platforms/iseries/setup.c
arch/powerpc/platforms/iseries/smp.c
arch/powerpc/platforms/pseries/lpar.c
arch/powerpc/platforms/pseries/setup.c
include/asm-powerpc/lppaca.h
include/asm-powerpc/paca.h
include/asm-powerpc/spinlock.h
include/asm-powerpc/time.h