• Paul Mackerras's avatar
    powerpc: Dynamically allocate most lppaca structs · 93c22703
    Paul Mackerras authored
    This arranges for the lppaca structs for most cpus to be dynamically
    allocated in the same manner as the paca structs.  If we don't include
    support for legacy iSeries, only the first lppaca is statically
    allocated; the rest are dynamically allocated.  If we include legacy
    iSeries support, then we statically allocate the first 64 lppaca
    structs, since the iSeries hypervisor requires that the lppaca
    structs be present in the data section of the kernel image, but
    legacy iSeries supports at most 64 cpus.
    
    With CONFIG_NR_CPUS, the kernel image size for a typical pSeries config
    went from:
    
       text    data     bss     dec     hex filename
    9524478 4734564 8469944 22728986        15ad11a ../test-1024/vmlinux
    
    to:
    
       text    data     bss     dec     hex filename
    9524482 3751508 8469944 21745934        14bd10e ../test-1024/vmlinux
    
    a reduction of 983052 bytes overall.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    93c22703
lppaca.h 7.82 KB