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 kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html