LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/7] nohz/rcu: Consider guest context as extended quiescent state (ie: enable full nohz on guest)
@ 2015-03-05  2:14 Frederic Weisbecker
  2015-03-05  2:14 ` [PATCH 1/7] ppc: Remove unused cpp symbols in kvm headers Frederic Weisbecker
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Frederic Weisbecker @ 2015-03-05  2:14 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Paolo Bonzini, Alexander Graf,
	Luiz Capitulino, Christian Borntraeger, Benjamin Herrenschmidt,
	Marcelo Tosatti, Paul E . McKenney, Andy Lutomirski, Will deacon,
	Rik van Riel

Hi,

Rik sent out this patchset a few weeks ago. It appears to be interesting
to disable the tick on the host while the guest is running. 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 need to take part of
RCU grace period completion as long as RCU may be used, which is the
case in kernel context. However guest is similar to userspace and idle
in that we know RCU is unused in such context. As such a
guest/userspace/idle CPU can let other CPUs report its 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 brings it for
guest.

Before pushing to Ingo, I've just cleaned out a few boring details on
naming and changelogs. So I'm just posting the whole in case somebody
has a comment before doing the pull request in a few days

Thanks.

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

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

 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(-)

-- 
2.1.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-03-05 16:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-05  2:14 [PATCH 0/7] nohz/rcu: Consider guest context as extended quiescent state (ie: enable full nohz on guest) Frederic Weisbecker
2015-03-05  2:14 ` [PATCH 1/7] ppc: Remove unused cpp symbols in kvm headers Frederic Weisbecker
2015-03-05 16:06   ` Rik van Riel
2015-03-05  2:14 ` [PATCH 2/7] context_tracking: Rename context symbols to prepare for transition state Frederic Weisbecker
2015-03-05 16:07   ` Rik van Riel
2015-03-05  2:14 ` [PATCH 3/7] context_tracking: Generalize context tracking APIs to support user and guest Frederic Weisbecker
2015-03-05  2:14 ` [PATCH 4/7] context_tracking: Add stub context_tracking_is_enabled Frederic Weisbecker
2015-03-05  2:14 ` [PATCH 5/7] context_tracking: Run vtime_user_enter/exit only when state == CONTEXT_USER Frederic Weisbecker
2015-03-05  2:14 ` [PATCH 6/7] context_tracking: Export context_tracking_user_enter/exit Frederic Weisbecker
2015-03-05  2:14 ` [PATCH 7/7] kvm,rcu,nohz: use RCU extended quiescent state when running KVM guest Frederic Weisbecker

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).