Re: [PATCH v2 0/5] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest

From: Frederic Weisbecker
Date: Fri Feb 06 2015 - 13:05:58 EST


On Fri, Feb 06, 2015 at 09:56:43AM -0500, Rik van Riel wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 02/06/2015 08:46 AM, Frederic Weisbecker wrote:
> > On Thu, Feb 05, 2015 at 03:23:47PM -0500, riel@xxxxxxxxxx wrote:
> >> When running a KVM guest on a system with NOHZ_FULL enabled
> >
> > I just need to clarify the motivation first, does the above
> > situation really happen? Ok some distros enable NOHZ_FULL to let
> > the user stop the tick in userspace. So most of the time,
> > CONFIG_NOHZ_FULL=y but nohz full is runtime disabled (we need to
> > pass a nohz_full= boot parameter to enable it). And when it is
> > runtime disabled, there should be no rcu nocb CPU.
> >
> > (Although not setting CPUs in nocb mode when nohz full is runtime
> > disabled is perhaps a recent change.)
> >
> > So for the problem to arise, one need to enable nohz_full and run
> > KVM guest. And I never heard about such workloads. That said it's
> > potentially interesting to turn off the tick on the host when the
> > guest runs.
> >
> >> , and the KVM guest running with idle=poll mode, we still get
> >> wakeups of the rcuos/N threads.
> >
> > So we need nohz_full on the host and idle=poll mode on the guest.
> > Is it likely to happen? (sorry, again I'm just trying to make sure
> > we agree on why we do this change).
>
> We have users interested in doing just that, in order to run
> KVM guests with the least amount of perturbation to the guest.

So what are you interested in exactly? Only RCU extended quiescent state
or also full dynticks? Because your cover letter only points to disturbing
RCU nocb and quiescent states.

Also I'm curious why you run guests in idle=poll. Maybe that avoids host/guest
context switches?

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/