From: riel@redhat.com
To: paulmck@linux.vnet.ibm.com
Cc: linux-kernel@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, fweisbec@gmail.com, kvm@vger.kernel.org,
mtosatti@redhat.com, borntraeger@de.ibm.com, mingo@kernel.org,
oleg@redhat.com, lcapitulino@redhat.com, pbonzini@redhat.com
Subject: [PATCH -v3 0/6] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest
Date: Mon, 9 Feb 2015 11:04:38 -0500 [thread overview]
Message-ID: <1423497884-21615-1-git-send-email-riel@redhat.com> (raw)
When running a KVM guest on a system with NOHZ_FULL enabled, and the
KVM guest running with idle=poll mode, we still get wakeups of the
rcuos/N threads.
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.
Thanks to Christian Borntraeger and Paul McKenney for reviewing the
first version of this patch series, and helping optimize patch 4/5.
Thanks to Frederic Weisbecker for further enhancements.
Apologies to Catalin and Will for not fixing up ARM. I am not
familiar with ARM assembly, and not sure how to pass a constant
argument to a function from assembly code on ARM :)
next reply other threads:[~2015-02-09 16:05 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-09 16:04 riel [this message]
2015-02-09 16:04 ` [PATCH 1/6] rcu,nohz: add state parameter to context_tracking_user_enter/exit riel
2015-02-09 16:04 ` [PATCH 2/6] rcu,nohz: rename context_tracking_enter & _exit riel
2015-02-09 16:04 ` [PATCH 3/6] rcu,nohz: run vtime_user_enter/exit only when state == IN_USER riel
2015-02-09 16:04 ` [PATCH 4/6] nohz,kvm: export context_tracking_user_enter/exit riel
2015-02-09 17:05 ` Paolo Bonzini
2015-02-09 20:02 ` Rik van Riel
2015-02-09 16:04 ` [PATCH 5/6] kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest riel
2015-02-09 16:04 ` [PATCH 6/6] nohz: add stub context_tracking_is_enabled riel
2015-02-09 17:07 ` Paolo Bonzini
2015-02-10 1:15 ` [PATCH -v3 0/6] rcu,nohz,kvm: use RCU extended quiescent state when running KVM guest Will Deacon
2015-02-10 1:22 ` Rik van Riel
2015-02-10 1:44 ` Frederic Weisbecker
2015-02-10 3:01 ` Paul E. McKenney
2015-02-10 3:03 ` Rik van Riel
2015-02-10 3:13 ` Paul E. McKenney
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=1423497884-21615-1-git-send-email-riel@redhat.com \
--to=riel@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=catalin.marinas@arm.com \
--cc=fweisbec@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=lcapitulino@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mtosatti@redhat.com \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=will.deacon@arm.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox