LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alexander Graf <agraf@suse.de>,
	Luiz Capitulino <lcapitulino@redhat.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"Paul E . McKenney" <paulmck@linux.vnet.ibm.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Will deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: [GIT PULL] nohz: Enable full dynticks on guest mode
Date: Tue, 10 Mar 2015 15:37:11 +0100	[thread overview]
Message-ID: <1425998238-4954-1-git-send-email-fweisbec@gmail.com> (raw)

Ingo,

Please pull the nohz/guest branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	nohz/guest

This is 4.1 material.

HEAD: 126a6a542446f1a49b9f3c69237c87df3eb4e6e1

---
Some measurements showed that disabling the tick on the host while the
guest is running can be interesting on some workloads. Indeed the
host tick is irrelevant while vcpu runs, it consumes CPU time and cache
for no good reasons.

Full dynticks already works in every context but RCU prevents it to
be effective outside userspace because the CPU needs to take part of
RCU grace period completion as long as RCU may be used on it, which is
the case in kernel context. However guest is similar to userspace and idle
in that we know RCU is unused on such context. Therefore a CPU in
guest/userspace/idle context can let other CPUs report its own RCU
quiescent state on its behalf and shut down the tick safely, provided it
isn't needed for other reasons than RCU. This is called RCU extended
quiescent state.

This was implemented for idle and userspace. This patchset now brings it
for guest through the following steps:

* Generalize the context tracking APIs to also track guest
* Rename/sanitize a few CPP symbols accordingly
* Report guest entry/exit to RCU and define this context area as an RCU
  extended quiescent state.
---

Thanks,
	Frederic
---

Rik van Riel (5):
      context_tracking: Generalize context tracking APIs to support user and guest
      context_tracking: Add stub context_tracking_is_enabled
      context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER
      context_tracking: Export context_tracking_user_enter/exit
      kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest

Frederic Weisbecker (2):
      ppc: Remove unused cpp symbols in kvm headers
      context_tracking: Rename context symbols to prepare for transition state


 arch/powerpc/include/asm/kvm_book3s.h  |  4 ---
 arch/x86/kernel/traps.c                |  2 +-
 include/linux/context_tracking.h       | 15 +++++++--
 include/linux/context_tracking_state.h |  9 ++++--
 include/linux/kvm_host.h               |  3 +-
 kernel/context_tracking.c              | 59 ++++++++++++++++++++++------------
 kernel/sched/core.c                    |  2 +-
 7 files changed, 61 insertions(+), 33 deletions(-)

             reply	other threads:[~2015-03-10 14:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-10 14:37 Frederic Weisbecker [this message]
2015-03-10 14:37 ` [PATCH 1/7] ppc: Remove unused cpp symbols in kvm headers Frederic Weisbecker
2015-03-10 14:37 ` [PATCH 2/7] context_tracking: Rename context symbols to prepare for transition state Frederic Weisbecker
2015-03-10 14:37 ` [PATCH 3/7] context_tracking: Generalize context tracking APIs to support user and guest Frederic Weisbecker
2015-03-10 14:37 ` [PATCH 4/7] context_tracking: Add stub context_tracking_is_enabled Frederic Weisbecker
2015-03-10 14:37 ` [PATCH 5/7] context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER Frederic Weisbecker
2015-03-10 14:37 ` [PATCH 6/7] context_tracking: Export context_tracking_user_enter/exit Frederic Weisbecker
2015-03-10 14:37 ` [PATCH 7/7] kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest Frederic Weisbecker
2015-03-16 13:48 ` [GIT PULL] nohz: Enable full dynticks on guest mode Frederic Weisbecker
2015-03-16 14:53 ` Ingo Molnar

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=1425998238-4954-1-git-send-email-fweisbec@gmail.com \
    --to=fweisbec@gmail.com \
    --cc=agraf@suse.de \
    --cc=benh@kernel.crashing.org \
    --cc=borntraeger@de.ibm.com \
    --cc=lcapitulino@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    --subject='Re: [GIT PULL] nohz: Enable full dynticks on guest mode' \
    /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).