All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: kvm@vger.kernel.org, Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Subject: Re: [PATCH 0/2] Simplify RCU freeing of shadow pages
Date: Sun, 22 Apr 2012 14:39:03 +0300	[thread overview]
Message-ID: <4F93EDD7.2080704@redhat.com> (raw)
In-Reply-To: <20120421023132.GA18062@amt.cnet>

On 04/21/2012 05:31 AM, Marcelo Tosatti wrote:
> On Thu, Apr 19, 2012 at 07:26:35PM +0300, Avi Kivity wrote:
> > This patchset simplifies the freeing by RCU of mmu pages.
> > 
> > Xiao, I'm sure you thought of always freeing by RCU.  Why didn't you choose
> > this way?  I saves a couple of atomics in the fast path.
> > 
> > Avi Kivity (2):
> >   KVM: MMU: Always free shadow pages using RCU
> >   KVM: MMU: Recover space used by rcu_head in struct kvm_mmu_page
> > 
> >  arch/x86/include/asm/kvm_host.h |    9 +++---
> >  arch/x86/kvm/mmu.c              |   58 ++++++++-------------------------------
> >  2 files changed, 15 insertions(+), 52 deletions(-)
>
> Check Documentation/RCU/checklist.txt item 8.
>
>         a.      Keeping a count of the number of data-structure elements
>                 used by the RCU-protected data structure, including
>                 those waiting for a grace period to elapse.  Enforce a
>                 limit on this number, stalling updates as needed to allow
>                 previously deferred frees to complete.  Alternatively,
>                 limit only the number awaiting deferred free rather than
>                 the total number of elements.
>

That's true before and after the patch.  Currently the amount of memory
that depends on rcu for freeing is unbounded.

Maybe we should protect the fast path using local_irq_disable() instead
of rcu_read_lock(), like x86 page tables.  That means that
kvm_flush_remote_tlbs() needs to ignore OUTSIDE_GUEST_MODE when IPIing
vcpu threads.

-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2012-04-22 11:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-19 16:26 [PATCH 0/2] Simplify RCU freeing of shadow pages Avi Kivity
2012-04-19 16:26 ` [PATCH 1/2] KVM: MMU: Always free shadow pages using RCU Avi Kivity
2012-04-19 16:26 ` [PATCH 2/2] KVM: MMU: Recover space used by rcu_head in struct kvm_mmu_page Avi Kivity
2012-04-20  4:05 ` [PATCH 0/2] Simplify RCU freeing of shadow pages Xiao Guangrong
2012-04-22 13:24   ` Avi Kivity
2012-04-23  7:28     ` Xiao Guangrong
2012-04-21  2:31 ` Marcelo Tosatti
2012-04-22 11:39   ` Avi Kivity [this message]
2012-04-23  7:39     ` Xiao Guangrong
2012-04-23  8:53       ` Avi Kivity

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=4F93EDD7.2080704@redhat.com \
    --to=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=xiaoguangrong@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.