1. 08 May, 2012 1 commit
    • Thomas Gleixner's avatar
      powerpc: Fix broken cpu_idle_wait() implementation · 9cd75e13
      Thomas Gleixner authored
      commit 771dae81 (powerpc/cpuidle: Add cpu_idle_wait() to allow
      switching of idle routines) implemented cpu_idle_wait() for powerpc.
      
      The changelog says:
       "The equivalent routine for x86 is in arch/x86/kernel/process.c
        but the powerpc implementation is different.":
      
      Unfortunately the changelog is completely useless as it does not tell
      _WHY_ it is different.
      
      Aside of being different the implementation is patently wrong.
      
      The rescheduling IPI is async. That means that there is no guarantee,
      that the other cores have executed the IPI when cpu_idle_wait()
      returns. But that's the whole purpose of this function: to guarantee
      that no CPU uses the old idle handler anymore.
      
      Use the smp_functional_call() based implementation, which fulfils the
      requirements.
      
      [ This code is going to replaced by a core version to remove all the
        pointless copies in arch/*, but this one should go to stable ]
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
      Cc: Trinabh Gupta <g.trinabh@gmail.com>
      Cc: Arun R Bharadwaj <arun.r.bharadwaj@gmail.com>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Link: http://lkml.kernel.org/r/20120507175651.980164748@linutronix.de
      Cc: stable@vger.kernel.org
      9cd75e13
  2. 07 May, 2012 2 commits
  3. 05 May, 2012 30 commits
  4. 04 May, 2012 1 commit
  5. 03 May, 2012 1 commit
  6. 26 Apr, 2012 5 commits