All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
To: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	KVM list <kvm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 6/6] KVM MMU: optimize synchronization shadow pages
Date: Mon, 12 Apr 2010 19:14:42 +0800	[thread overview]
Message-ID: <4BC300A2.5050508@cn.fujitsu.com> (raw)
In-Reply-To: <4BC2DD1B.1030903@redhat.com>



Avi Kivity wrote:
> On 04/12/2010 11:06 AM, Xiao Guangrong wrote:
>> - chain all unsync shadow pages then we can fetch them quickly
>> - flush local/remote tlb after all shadow page synced
>>
>> Signed-off-by: Xiao Guangrong<xiaoguangrong@cn.fujitsu.com>
>> ---
>>   arch/x86/include/asm/kvm_host.h |    1 +
>>   arch/x86/kvm/mmu.c              |   82
>> ++++++++++++++++++---------------------
>>   2 files changed, 39 insertions(+), 44 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/kvm_host.h
>> b/arch/x86/include/asm/kvm_host.h
>> index d463bc6..ae543fb 100644
>> --- a/arch/x86/include/asm/kvm_host.h
>> +++ b/arch/x86/include/asm/kvm_host.h
>> @@ -207,6 +207,7 @@ struct kvm_mmu_page {
>>       #define MMU_PAGE_UNSYNC 0x2
>>       unsigned int flags;
>>       unsigned int unsync_children;
>> +    struct list_head unsync_link;
>>       union {
>>           u64 *parent_pte;               /* !multimapped */
>>           struct hlist_head parent_ptes; /* multimapped, kvm_pte_chain */
>> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
>> index 18eceb2..fcb6299 100644
>> --- a/arch/x86/kvm/mmu.c
>> +++ b/arch/x86/kvm/mmu.c
>> @@ -177,6 +177,8 @@ typedef int (*mmu_parent_walk_fn) (struct
>> kvm_mmu_page *sp, u64 *spte);
>>   static struct kmem_cache *pte_chain_cache;
>>   static struct kmem_cache *rmap_desc_cache;
>>   static struct kmem_cache *mmu_page_header_cache;
>> +static struct list_head unsync_mmu_page_list =
>> +            LIST_HEAD_INIT(unsync_mmu_page_list);
>>
>>    
> 
> Does this really need to be global?  Should be per guest.
> 

Ah... this patch need more cooking, i'll improve it... thanks for you point it out.

Xiao

      reply	other threads:[~2010-04-12 11:17 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-12  7:59 [PATCH 1/6] KVM MMU: remove unused struct Xiao Guangrong
2010-04-12  8:01 ` [PATCH 2/6] KVM MMU: fix kvm_mmu_zap_page() and its calling path Xiao Guangrong
2010-04-12  8:24   ` Avi Kivity
2010-04-12  8:53     ` Xiao Guangrong
2010-04-12  9:08       ` Avi Kivity
2010-04-12  9:22         ` Xiao Guangrong
2010-04-12 10:25           ` Avi Kivity
2010-04-12 12:22             ` Xiao Guangrong
2010-04-12 12:49               ` Avi Kivity
2010-04-12 17:10   ` Marcelo Tosatti
2010-04-13  1:34     ` Xiao Guangrong
2010-04-13 14:59       ` Marcelo Tosatti
2010-04-14  2:14         ` Xiao Guangrong
2010-04-14 16:31           ` Marcelo Tosatti
2010-04-12  8:02 ` [PATCH 3/6] KVM MMU: optimize/cleanup for marking parent unsync Xiao Guangrong
2010-04-12  8:32   ` Avi Kivity
2010-04-12  8:55     ` Xiao Guangrong
2010-04-12 17:12   ` Marcelo Tosatti
2010-04-13  1:53     ` Xiao Guangrong
2010-04-13 11:58       ` Avi Kivity
2010-04-13 15:01       ` Marcelo Tosatti
2010-04-14  3:23         ` Xiao Guangrong
2010-04-14  3:58           ` Xiao Guangrong
2010-04-14 16:35           ` Marcelo Tosatti
2010-04-12  8:03 ` [PATCH 4/6] KVM MMU: optimize for writing cr4 Xiao Guangrong
2010-04-12  8:34   ` Avi Kivity
2010-04-12 10:42     ` Xiao Guangrong
2010-04-12 11:22       ` Avi Kivity
2010-04-13  3:07         ` Xiao Guangrong
2010-04-13  6:42           ` Avi Kivity
2010-04-12  8:05 ` [PATCH 5/6] KVM MMU: reduce kvm_mmu_page size Xiao Guangrong
2010-04-12  8:36   ` Avi Kivity
2010-04-12 11:11     ` Xiao Guangrong
2010-04-12  8:06 ` [PATCH 6/6] KVM MMU: optimize synchronization shadow pages Xiao Guangrong
2010-04-12  8:43   ` Avi Kivity
2010-04-12 11:14     ` Xiao Guangrong [this message]

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=4BC300A2.5050508@cn.fujitsu.com \
    --to=xiaoguangrong@cn.fujitsu.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtosatti@redhat.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.