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

2018-07-12 Thread Christian Borntraeger
On 07/12/2018 01:58 PM, Christian Borntraeger wrote: > > > On 07/12/2018 01:10 PM, David Woodhouse wrote: >> On Thu, 2018-07-12 at 13:00 +0200, Christian Borntraeger wrote: >>> >>> On s390 this seems to add about 10ns (~3%) for a guest exit/rentry >>> microbenchmark mostly due to  rcu_eqs_ente

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

2018-07-12 Thread Christian Borntraeger
On 07/12/2018 01:10 PM, David Woodhouse wrote: > On Thu, 2018-07-12 at 13:00 +0200, Christian Borntraeger wrote: >> >> On s390 this seems to add about 10ns (~3%) for a guest exit/rentry >> microbenchmark mostly due to  rcu_eqs_enter and rcu_eqs_exit now being >> visible in perf samples. The olde

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

2018-07-12 Thread David Woodhouse
On Thu, 2018-07-12 at 13:00 +0200, Christian Borntraeger wrote: > > On s390 this seems to add about 10ns (~3%) for a guest exit/rentry > microbenchmark mostly due to  rcu_eqs_enter and rcu_eqs_exit now being > visible in perf samples. The older interface was cheaper. Well, the older interface was

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

2018-07-12 Thread Christian Borntraeger
On 07/12/2018 10:31 AM, David Woodhouse wrote: > > > 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, whi

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

2018-07-12 Thread David Woodhouse
On Thu, 2018-07-12 at 08:21 +0200, Christian Borntraeger wrote: > > Is there a single patch that that I can test or do I have to combine > all the pieces that are sprinkled in this mail thread? I believe it should be just these two commits, and the first is probably optional as the second makes i

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

2018-07-12 Thread David Woodhouse
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.

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

2018-07-11 Thread Christian Borntraeger
On 07/12/2018 01:37 AM, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 02:32:59PM -0700, Paul E. McKenney wrote: >> On Wed, Jul 11, 2018 at 11:11:19PM +0200, Christian Borntraeger wrote: >>> >>> >>> On 07/11/2018 10:27 PM, Paul E. McKenney wrote: On Wed, Jul 11, 2018 at 08:39:36PM +0200,

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 04:37:27PM -0700, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 02:32:59PM -0700, Paul E. McKenney wrote: > > On Wed, Jul 11, 2018 at 11:11:19PM +0200, Christian Borntraeger wrote: > > > > > > > > > On 07/11/2018 10:27 PM, Paul E. McKenney wrote: > > > > On Wed, Jul 11

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 11:39:10PM +0200, Christian Borntraeger wrote: > > > On 07/11/2018 11:32 PM, Paul E. McKenney wrote: > > On Wed, Jul 11, 2018 at 11:11:19PM +0200, Christian Borntraeger wrote: > >> > >> > >> On 07/11/2018 10:27 PM, Paul E. McKenney wrote: > >>> On Wed, Jul 11, 2018 at 08:3

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 02:32:59PM -0700, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 11:11:19PM +0200, Christian Borntraeger wrote: > > > > > > On 07/11/2018 10:27 PM, Paul E. McKenney wrote: > > > On Wed, Jul 11, 2018 at 08:39:36PM +0200, Christian Borntraeger wrote: > > >> > > >> > > >>

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

2018-07-11 Thread Christian Borntraeger
On 07/11/2018 11:32 PM, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 11:11:19PM +0200, Christian Borntraeger wrote: >> >> >> On 07/11/2018 10:27 PM, Paul E. McKenney wrote: >>> On Wed, Jul 11, 2018 at 08:39:36PM +0200, Christian Borntraeger wrote: On 07/11/2018 08:36 PM, Paul

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 11:11:19PM +0200, Christian Borntraeger wrote: > > > On 07/11/2018 10:27 PM, Paul E. McKenney wrote: > > On Wed, Jul 11, 2018 at 08:39:36PM +0200, Christian Borntraeger wrote: > >> > >> > >> On 07/11/2018 08:36 PM, Paul E. McKenney wrote: > >>> On Wed, Jul 11, 2018 at 11:2

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

2018-07-11 Thread Christian Borntraeger
On 07/11/2018 10:27 PM, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 08:39:36PM +0200, Christian Borntraeger wrote: >> >> >> On 07/11/2018 08:36 PM, Paul E. McKenney wrote: >>> On Wed, Jul 11, 2018 at 11:20:53AM -0700, Paul E. McKenney wrote: On Wed, Jul 11, 2018 at 07:01:01PM +0100, D

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 09:54:52PM +0100, David Woodhouse wrote: > On Wed, 2018-07-11 at 13:27 -0700, Paul E. McKenney wrote: > > > > Something like this, on top of the earlier patch?  I am not at all > > confident of this patch because there might be other entry/exit > > paths I am missing.  Plus

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

2018-07-11 Thread David Woodhouse
On Wed, 2018-07-11 at 13:27 -0700, Paul E. McKenney wrote: > > Something like this, on top of the earlier patch?  I am not at all > confident of this patch because there might be other entry/exit > paths I am missing.  Plus there might be RCU uses on the arch- > specific patch to and from the gues

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 08:39:36PM +0200, Christian Borntraeger wrote: > > > On 07/11/2018 08:36 PM, Paul E. McKenney wrote: > > On Wed, Jul 11, 2018 at 11:20:53AM -0700, Paul E. McKenney wrote: > >> On Wed, Jul 11, 2018 at 07:01:01PM +0100, David Woodhouse wrote: > >>> From: David Woodhouse > >

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

2018-07-11 Thread Christian Borntraeger
On 07/11/2018 08:36 PM, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 11:20:53AM -0700, Paul E. McKenney wrote: >> On Wed, Jul 11, 2018 at 07:01:01PM +0100, David Woodhouse wrote: >>> From: David Woodhouse >>> >>> RCU can spend long periods of time waiting for a CPU which is actually in >>>

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 11:20:53AM -0700, Paul E. McKenney wrote: > On Wed, Jul 11, 2018 at 07:01:01PM +0100, David Woodhouse wrote: > > From: David Woodhouse > > > > RCU can spend long periods of time waiting for a CPU which is actually in > > KVM guest mode, entirely pointlessly. Treat it like

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

2018-07-11 Thread Paul E. McKenney
On Wed, Jul 11, 2018 at 07:01:01PM +0100, David Woodhouse wrote: > From: David Woodhouse > > RCU can spend long periods of time waiting for a CPU which is actually in > KVM guest mode, entirely pointlessly. Treat it like the idle and userspace > modes, and don't wait for it. > > Signed-off-by: D

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

2018-07-11 Thread David Woodhouse
From: David Woodhouse RCU can spend long periods of time waiting for a CPU which is actually in KVM guest mode, entirely pointlessly. Treat it like the idle and userspace modes, and don't wait for it. Signed-off-by: David Woodhouse --- arch/x86/kvm/x86.c | 2 ++ include/linux/rcupdate.h