1. 09 Mar, 2010 3 commits
    • Adam Lackorzynski's avatar
      powerpc: Fix SMP build with disabled CPU hotplugging. · 5b72d74c
      Adam Lackorzynski authored
      Compiling 2.6.33 with SMP enabled and HOTPLUG_CPU disabled gives me the
      following link errors:
      
        LD      init/built-in.o
        LD      .tmp_vmlinux1
      arch/powerpc/platforms/built-in.o: In function `.smp_xics_setup_cpu':
      smp.c:(.devinit.text+0x88): undefined reference to `.set_cpu_current_state'
      smp.c:(.devinit.text+0x94): undefined reference to `.set_default_offline_state'
      arch/powerpc/platforms/built-in.o: In function `.smp_pSeries_kick_cpu':
      smp.c:(.devinit.text+0x13c): undefined reference to `.set_preferred_offline_state'
      smp.c:(.devinit.text+0x148): undefined reference to `.get_cpu_current_state'
      smp.c:(.devinit.text+0x1a8): undefined reference to `.get_cpu_current_state'
      make: *** [.tmp_vmlinux1] Error 1
      
      The following change fixes that for me and seems to work as expected.
      Signed-off-by: default avatarAdam Lackorzynski <adam@os.inf.tu-dresden.de>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5b72d74c
    • Michael Ellerman's avatar
      powerpc: Dynamically allocate pacas · 1426d5a3
      Michael Ellerman authored
      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: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      1426d5a3
    • Benjamin Herrenschmidt's avatar
      59603b9a
  2. 08 Mar, 2010 37 commits