On Fri, Nov 01, 2013 at 10:41:46AM -0400, Rik van Riel wrote: > Subject: fix race between stop_two_cpus and stop_cpus > > There is a race between stop_two_cpus, and the global stop_cpus. > > It is possible for two CPUs to get their stopper functions queued > "backwards" from one another, resulting in the stopper threads > getting stuck, and the system hanging. This can happen because > queuing up stoppers is not synchronized. > > This patch adds synchronization between stop_cpus (a rare operation), > and stop_two_cpus. > > Signed-off-by: Rik van Riel <[email protected]> > --- > v2: use lglock, as suggested by Peter & Mel, thanks to both of you > for insisting on nicer code :) >
This is a tad more comprehensible :). Thanks! Acked-by: Mel Gorman <[email protected]> -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

