Messages in this thread | | | Date | Thu, 4 Sep 2014 17:47:10 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 3/3] cpuidle: Using the wake_up_all_idle_cpus() to wake up all idle cpus |
| |
On Thu, Sep 04, 2014 at 01:39:38PM +0000, Liu, Chuansheng wrote: > > So IIUC, kick_all_cpus_sync is a broken function, right ?
> kick_all_cpus_sync has other callers, and those other callers want the > old behavior. I think this should be a new function.
Correct, things like arch/powerpc/mm/pgtable_64.c:pmdp_clear_flush() really want the old behaviour. It basically uses local_irq_disable()/local_irq_enable() vs kick_all_cpus_sync() as a RCU like serialization primitive.
| |