On Sun, Aug 18, 2013 at 11:34:44AM +0200, Borislav Petkov wrote: > On Sat, Aug 17, 2013 at 08:17:17PM -0700, Josh Triplett wrote: > > On Sat, Aug 17, 2013 at 06:37:46PM -0700, Paul E. McKenney wrote: > > > From: Borislav Petkov <b...@alien8.de> > > > > > > CONFIG_RCU_FAST_NO_HZ can increase grace-period durations by up to > > > a factor of four, which can result in long suspend and resume times. > > > Thus, this commit temporarily switches to expedited grace periods when > > > suspending the box and return to normal settings when resuming. > > > > > > [ paulmck: This also papers over an audio/irq bug, but hopefully that will > > > be fixed soon. ] > > > > > > Signed-off-by: Borislav Petkov <b...@suse.de> > > > Signed-off-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > > > > This patch still seems like a hack, and there *ought* to be a better > > general solution to avoid excessive grace-period latency. Nonetheless, > > in the absence of such a solution, > > Reviewed-by: Josh Triplett <j...@joshtriplett.org> > > Yeah, I'm not happy about it either but from quickly skimming over what > context we're using rcu_expedited in, the basic requirement for a fix is > for the pm core to be able to tell rcu not to stretch grace periods. > > So simply setting a variable is much simpler than switching to calling > all those *_expedited() rcu flavors from the pm notifier when going > down. > > Unless Paul has a better idea, of course. > > The basic problem here is, however, that you need to temporarily > reconfigure the inner workings of a subsystem because hardware is > performing a power state transition. Unless someone teaches rcu about > power state transitions... :-)
I would guess that once we have a few more subsystems that want RCU to temporarily expedite its grace periods, we will have enough information and experience to do something a bit more general. In the meantime, I am opting for something simple. ;-) Thanx, Paul -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/