LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: riel@redhat.com
Cc: kvm@vger.kernel.org, borntraeger@de.ibm.com,
	linux-kernel@vger.kernel.org, mtosatti@redhat.com,
	mingo@kernel.orgm, ak@linux.intel.com, oleg@redhat.com,
	masami.hiramatsu.pt@hitachi.com, paulmck@linux.vnet.ibm.com,
	lcapitulino@redhat.com, pbonzini@redhat.com
Subject: Re: [PATCH v2 0/5] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest
Date: Fri, 6 Feb 2015 14:46:35 +0100	[thread overview]
Message-ID: <20150206134631.GA21905@lerouge> (raw)
In-Reply-To: <1423167832-17609-1-git-send-email-riel@redhat.com>

On Thu, Feb 05, 2015 at 03:23:47PM -0500, riel@redhat.com 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).

> 
> This problem has already been solved for user space by telling the
> RCU subsystem that the CPU is in an extended quiescent state while
> running user space code.
> 
> This patch series extends that code a little bit to make it usable
> to track KVM guest space, too.
> 
> I tested the code by booting a KVM guest with idle=poll, on a system
> with NOHZ_FULL enabled on most CPUs, and a VCPU thread bound to a
> CPU. In a 10 second interval, rcuos/N threads on other CPUs got woken
> up several times, while the rcuos thread on the CPU running the bound
> and alwasy running VCPU thread never got woken up once.

So what you're describing is to set RCU in extended quiescent state, right?
This doesn't include stopping the tick while running in guest mode? Those
are indeed two different thing, although stopping the tick most often requires
to set RCU in extended quiescent state.

> 
> Thanks to Christian Borntraeger and Paul McKenney for reviewing the
> first version of this patch series, and helping optimize patch 4/5.
> 

  parent reply	other threads:[~2015-02-06 13:46 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-05 20:23 riel
2015-02-05 20:23 ` [PATCH 1/5] rcu,nohz: add state parameter to context_tracking_user_enter/exit riel
2015-02-05 23:55   ` Paul E. McKenney
2015-02-06 10:15     ` Paolo Bonzini
2015-02-06 13:41       ` Paul E. McKenney
2015-02-06 17:22   ` Frederic Weisbecker
2015-02-06 18:20     ` Rik van Riel
2015-02-06 18:23       ` Frederic Weisbecker
2015-02-06 18:51         ` Rik van Riel
2015-02-06 23:15           ` Frederic Weisbecker
2015-02-07  3:53             ` Rik van Riel
2015-02-07  6:34               ` Paul E. McKenney
2015-02-07  7:14                 ` Paul E. McKenney
2015-02-07  8:30                   ` Frederic Weisbecker
2015-02-07 11:29                     ` Rik van Riel
2015-02-07 20:06                     ` Paul E. McKenney
2015-02-09 15:42                       ` Rik van Riel
2015-02-05 20:23 ` [PATCH 2/5] rcu,nohz: run vtime_user_enter/exit only when state == IN_USER riel
2015-02-05 20:23 ` [PATCH 3/5] nohz,kvm: export context_tracking_user_enter/exit riel
2015-02-05 23:55   ` Paul E. McKenney
2015-02-05 20:23 ` [PATCH 4/5] kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest riel
2015-02-05 23:56   ` Paul E. McKenney
2015-02-06 18:01   ` Frederic Weisbecker
2015-02-06 23:24   ` Frederic Weisbecker
2015-02-05 20:23 ` [PATCH 5/5] nohz: add stub context_tracking_is_enabled riel
2015-02-05 23:56   ` Paul E. McKenney
2015-02-06 13:46 ` Frederic Weisbecker [this message]
2015-02-06 13:50   ` [PATCH v2 0/5] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest Paolo Bonzini
2015-02-06 16:19     ` Paul E. McKenney
2015-02-06 18:09     ` Frederic Weisbecker
2015-02-06 14:56   ` Rik van Riel
2015-02-06 18:05     ` Frederic Weisbecker
2015-02-06 15:00 ` Christian Borntraeger
2015-02-06 18:20   ` Frederic Weisbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150206134631.GA21905@lerouge \
    --to=fweisbec@gmail.com \
    --cc=ak@linux.intel.com \
    --cc=borntraeger@de.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=lcapitulino@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@kernel.orgm \
    --cc=mtosatti@redhat.com \
    --cc=oleg@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=riel@redhat.com \
    --subject='Re: [PATCH v2 0/5] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).