From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH 1/3] KVM: MMU: Clean up set_spte()'s ACC_WRITE_MASK handling Date: Thu, 9 May 2013 14:18:48 +0300 Message-ID: <20130509111848.GF32023@redhat.com> References: <20130509154350.15b956c4.yoshikawa_takuya_b1@lab.ntt.co.jp> <20130509154433.d8b62a0f.yoshikawa_takuya_b1@lab.ntt.co.jp> <518B7797.6040509@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Takuya Yoshikawa , pbonzini@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org To: Xiao Guangrong Return-path: Received: from mx1.redhat.com ([209.132.183.28]:49650 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753611Ab3EILSy (ORCPT ); Thu, 9 May 2013 07:18:54 -0400 Content-Disposition: inline In-Reply-To: <518B7797.6040509@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, May 09, 2013 at 06:16:55PM +0800, Xiao Guangrong wrote: > On 05/09/2013 02:44 PM, Takuya Yoshikawa wrote: > > Rather than clearing the ACC_WRITE_MASK bit of pte_access in the > > "if (mmu_need_write_protect())" block not to call mark_page_dirty() in > > the following if statement, simply moving the call into the appropriate > > else block is better. > > > > Signed-off-by: Takuya Yoshikawa > > --- > > arch/x86/kvm/mmu.c | 7 ++----- > > 1 files changed, 2 insertions(+), 5 deletions(-) > > > > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > > index 004cc87..08119a8 100644 > > --- a/arch/x86/kvm/mmu.c > > +++ b/arch/x86/kvm/mmu.c > > @@ -2386,14 +2386,11 @@ static int set_spte(struct kvm_vcpu *vcpu, u64 *sptep, > > pgprintk("%s: found shadow page for %llx, marking ro\n", > > __func__, gfn); > > ret = 1; > > - pte_access &= ~ACC_WRITE_MASK; > > spte &= ~(PT_WRITABLE_MASK | SPTE_MMU_WRITEABLE); > > - } > > + } else > > + mark_page_dirty(vcpu->kvm, gfn); > > } > > > > - if (pte_access & ACC_WRITE_MASK) > > - mark_page_dirty(vcpu->kvm, gfn); > > - > > set_pte: > > if (mmu_spte_update(sptep, spte)) > > kvm_flush_remote_tlbs(vcpu->kvm); > > That function is really magic, and this change do no really help it. I had several > patches posted some months ago to make these kind of code better understanding, but > i am too tired to update them. Can you point me to them? Your work is really appreciated, I am sorry you feel this way. -- Gleb.