On Mon, Nov 14, 2016 at 09:25:12AM -0800, Josh Triplett wrote: > On Mon, Nov 14, 2016 at 08:57:12AM -0800, Paul E. McKenney wrote: > > Expedited grace periods check dyntick-idle state, and avoid sending > > IPIs to idle CPUs, including those running guest OSes, and, on NOHZ_FULL > > kernels, nohz_full CPUs. However, the kernel has been observed checking > > a CPU while it was non-idle, but sending the IPI after it has gone > > idle. This commit therefore rechecks idle state immediately before > > sending the IPI, refraining from IPIing CPUs that have since gone idle. > > > > Reported-by: Rik van Riel <[email protected]> > > Signed-off-by: Paul E. McKenney <[email protected]> > > atomic_add_return(0, ...) seems odd. Do you actually want that, rather > than atomic_read(...)? If so, can you please document exactly why?
Yes that is weird. The only effective difference is that it would do a load-exclusive instead of a regular load.

