Re: [PATCH v2] kvm/x86: Inform RCU of quiescent state when entering guest mode

From: David Woodhouse
Date: Thu Jul 12 2018 - 04:31:35 EST




On Wed, 2018-07-11 at 16:47 -0700, Paul E. McKenney wrote:
>
> > > What changed was RCU's reactions to longish grace periods. It used to
> > > be very aggressive about forcing the scheduler to do otherwise-unneeded
> > > context switches, which became a problem somewhere between v4.9 and v4.15.
> > > I therefore reduced the number of such context switches, which in turn
> > > caused KVM to tell RCU about quiescent states way too infrequently.
>
> > You talk aboutÂ
> > commit bcbfdd01dce5556a952fae84ef16fd0f12525e7b
> >ÂÂÂÂ rcu: Make non-preemptive schedule be Tasks RCU quiescent state
>
> > correct? In fact, then whatever (properly sent) patch comes up should contain
> > a fixes tag.
>
> Not that one, but this one is at least part of the "team":
>
> 28053bc72c0e5 ("rcu: Add long-term CPU kicking"). I might need to use
> "git bisect" to find the most relevant commit... :-/

Whichever commit we blame, I suspect the Fixes: tag wants to go on
Paul's earlier 'Make need_resched() respond to urgent RCU-QS needs'
patch.

The rcu_kvm_enter() thing we're talking about now is actually
addressing a problem which has existed for much longer â that with
NO_HZ_FULL, a CPU might end up in guest mode for an indefinite period
of time, with RCU waiting for it to return.

Attachment: smime.p7s
Description: S/MIME cryptographic signature