public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Avi Kivity <avi@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	KVM list <kvm@vger.kernel.org>
Subject: Re: [PATCH 3/4] KVM: MMU: track dirty page in speculative path properly
Date: Wed, 14 Jul 2010 21:18:58 +0800	[thread overview]
Message-ID: <4C3DB942.3010709@cn.fujitsu.com> (raw)
In-Reply-To: <20100714110926.GA26033@amt.cnet>



Marcelo Tosatti wrote:
> On Wed, Jul 14, 2010 at 09:24:22AM +0800, Xiao Guangrong wrote:
>>
>> Marcelo Tosatti wrote:
>>> On Tue, Jul 13, 2010 at 05:45:27PM +0800, Xiao Guangrong wrote:
>>>> In speculative path, the page is not real write-access, no need mark it
>>>> dirty, so clear dirty bit in this path and later examine this bit when
>>>> we release the page
>>>>
>>>> Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
>>>> ---
>>>>  arch/x86/kvm/mmu.c |   24 +++++++++++-------------
>>>>  1 files changed, 11 insertions(+), 13 deletions(-)
>>> Unfortunately all pages that kvm creates translations for are marked
>>> dirty due to get_user_pages(w=1), except KSM which makes them read-only
>>> later.
>> Marcelo, i have looked into get_user_pages() function, but not catch where
>> to make page dirty, could you point it out for me? :-)
> 
> See set_page_dirty call in mm/memory.c::follow_page.

Yeah, you are right, and i want to use another way to do it since track dirty bit
is too heavy, also it's dangerous if we miss to set page dirty.

How about just track access bit for speculative path, we set page both accessed and
dirty(if it's writable) only if the access bit is set?

  reply	other threads:[~2010-07-14 13:23 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-13  9:42 [PATCH 1/4] KVM: MMU: fix forgot reserved bits check in speculative path Xiao Guangrong
2010-07-13  9:43 ` [PATCH 2/4] KVM: MMU: cleanup spte update path Xiao Guangrong
2010-07-13  9:45 ` [PATCH 3/4] KVM: MMU: track dirty page in speculative path properly Xiao Guangrong
2010-07-13 22:05   ` Marcelo Tosatti
2010-07-14  1:24     ` Xiao Guangrong
2010-07-14 11:09       ` Marcelo Tosatti
2010-07-14 13:18         ` Xiao Guangrong [this message]
2010-07-14 14:06           ` Marcelo Tosatti
2010-07-14 14:25             ` Avi Kivity
2010-07-15  7:44             ` Xiao Guangrong
2010-07-15 16:40               ` Marcelo Tosatti
2010-07-16  1:58                 ` Xiao Guangrong
2010-07-14  5:53   ` Xiao Guangrong
2010-07-13  9:46 ` [PATCH 4/4] KVM: MMU: remove valueless output message Xiao Guangrong
2010-07-13 21:28 ` [PATCH 1/4] KVM: MMU: fix forgot reserved bits check in speculative path Marcelo Tosatti
2010-07-14  1:08   ` Xiao Guangrong
2010-07-14 13:06 ` Avi Kivity
2010-07-14 13:24   ` Xiao Guangrong
2010-07-14 14:27     ` 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=4C3DB942.3010709@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox