Re: [PATCH 3/3] KVM: MMU: mark page dirty only when page is reallywritten

From: Avi Kivity
Date: Mon Aug 02 2010 - 03:51:13 EST


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<xiaoguangrong@xxxxxxxxxxxxxx>
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/