From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH 3/7] KVM: MMU: Add drop_spte_if_large() helper Date: Mon, 12 Jul 2010 12:59:54 +0800 Message-ID: <4C3AA14A.80707@cn.fujitsu.com> References: <1278862955-6890-1-git-send-email-avi@redhat.com> <1278862955-6890-4-git-send-email-avi@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from cn.fujitsu.com ([222.73.24.84]:51314 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751850Ab0GLFDw (ORCPT ); Mon, 12 Jul 2010 01:03:52 -0400 In-Reply-To: <1278862955-6890-4-git-send-email-avi@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Avi Kivity wrote: > To clarify spte fetching code, move large spte handling into a helper. > > Signed-off-by: Avi Kivity > --- > arch/x86/kvm/mmu.c | 8 ++++++++ > arch/x86/kvm/paging_tmpl.h | 5 +---- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > index 75cfb79..c02cbe1 100644 > --- a/arch/x86/kvm/mmu.c > +++ b/arch/x86/kvm/mmu.c > @@ -1492,6 +1492,14 @@ static void link_shadow_page(u64 *sptep, struct kvm_mmu_page *sp) > __set_spte(sptep, spte); > } > > +static void drop_spte_if_large(struct kvm_vcpu *vcpu, u64 *sptep) > +{ > + if (is_large_pte(*sptep)) { > + drop_spte(vcpu->kvm, sptep, shadow_trap_nonpresent_pte); > + kvm_flush_remote_tlbs(vcpu->kvm); > + } > +} > + Maybe drop_large_spte() is better?