1. 23 12月, 2008 1 次提交
    • S
      powerpc/pseries: Fix cpu hotplug · b906cfa3
      Sebastien Dugue 提交于
      Currently, pseries_cpu_die() calls msleep() while polling RTAS for
      the status of the dying cpu.
      
      However, if the cpu that is going down also happens to be the one
      doing the tick then we're hosed as the tick_do_timer_cpu 'baton' is
      only passed later on in tick_shutdown() when _cpu_down() does the
      CPU_DEAD notification.  Therefore jiffies won't be updated anymore.
      
      This replaces that msleep() with a cpu_relax() to make sure we're not
      going to schedule at that point.
      
      With this patch my test box survives a 100k iterations hotplug stress
      test on _all_ cpus, whereas without it, it quickly dies after ~50
      iterations.
      Signed-off-by: NSebastien Dugue <sebastien.dugue@bull.net>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b906cfa3
  2. 07 2月, 2008 1 次提交
    • N
      [POWERPC] Split xics_teardown_cpu() · c3e8506c
      Nathan Fontenot 提交于
      This splits off the kexec path bits of the xics_teardown_cpu() routine
      into its own xics_kexec_teardown_cpu() routine.  With the previous
      combined routine the CPPR for a cpu that is being removed may have its
      CPPR reset in the plpar_eoi() call (which explicitly sets the CPPR to
      a non-zero value).  Splitting of the kexec bits of the code prevents
      this from happening in the cpu remove path.
      
      Once again, this does not cause the cpu remove from the kernel to
      fail, but it does cause cpu dlpar operations to not be able to return
      the cpu to the hypervisor.
      Signed-off-by: NNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c3e8506c
  3. 26 1月, 2008 1 次提交
    • G
      cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() · 86ef5c9a
      Gautham R Shenoy 提交于
      Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use
      get_online_cpus and put_online_cpus instead as it highlights the
      refcount semantics in these operations.
      
      The new API guarantees protection against the cpu-hotplug operation, but
      it doesn't guarantee serialized access to any of the local data
      structures. Hence the changes needs to be reviewed.
      
      In case of pseries_add_processor/pseries_remove_processor, use
      cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the
      cpu_present_map there.
      Signed-off-by: NGautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      86ef5c9a
  4. 11 1月, 2008 1 次提交
  5. 11 10月, 2007 1 次提交
  6. 13 4月, 2007 1 次提交
  7. 08 12月, 2006 5 次提交