From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 3/3] KVM: MMU: mark page dirty only when page is really written Date: Mon, 02 Aug 2010 10:50:59 +0300 Message-ID: <4C5678E3.8090309@redhat.com> References: <4C4E5313.1080308@cn.fujitsu.com> <4C4E536E.7030109@cn.fujitsu.com> <4C4E53F7.7050108@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , LKML , KVM list To: Xiao Guangrong Return-path: Received: from mx1.redhat.com ([209.132.183.28]:22065 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751464Ab0HBHvE (ORCPT ); Mon, 2 Aug 2010 03:51:04 -0400 In-Reply-To: <4C4E53F7.7050108@cn.fujitsu.com> Sender: kvm-owner@vger.kernel.org List-ID: On 07/27/2010 06:35 AM, Xiao Guangrong wrote: > Mark page dirty only when this page is really written, it's more exacter, > and also can fix dirty page marking in speculation path > > Signed-off-by: Xiao Guangrong > --- > arch/x86/kvm/mmu.c | 47 ++++++++++++++++++++++++++++------------------- > 1 files changed, 28 insertions(+), 19 deletions(-) > > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > index dd6c192..bcc2173 100644 > --- a/arch/x86/kvm/mmu.c > +++ b/arch/x86/kvm/mmu.c > @@ -311,24 +311,42 @@ static bool spte_bits_lost(u64 spte) > if (!is_shadow_present_pte(spte)) > return false; > > - if (spte& shadow_accessed_mask) > + if (spte& shadow_accessed_mask&& > + (!is_writable_pte(spte) || spte& shadow_dirty_mask)) > return false; > Please add parentheses around bitwise operators to reduce confusion. The rest looks good. -- error compiling committee.c: too many arguments to function