From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 3/4] Nested SVM: Implement INVLPGA v2 Date: Tue, 19 May 2009 19:35:00 +0300 Message-ID: <4A12DFB4.8030000@redhat.com> References: <1242730443-15656-1-git-send-email-agraf@suse.de> <1242730443-15656-2-git-send-email-agraf@suse.de> <1242730443-15656-3-git-send-email-agraf@suse.de> <1242730443-15656-4-git-send-email-agraf@suse.de> <4A12AD0C.9030402@redhat.com> <20090519135416.GA4397@amt.cnet> <4A12BAA0.5010401@redhat.com> <20090519135815.GB4397@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org, joerg.roedel@amd.com To: Alexander Graf Return-path: Received: from mx2.redhat.com ([66.187.237.31]:37098 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753160AbZESQfK (ORCPT ); Tue, 19 May 2009 12:35:10 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: Alexander Graf wrote: >>>> kvm_mmu_invlpg is cheap, better just invalidate the entry. If hyper-v >>>> uses invlpga to invalidate TLB entries which it has updated pte's in >>>> memory for, and you skip the invalidation now and somehow later use an >>>> unsync spte, you're toast. >>>> >>> >>> But won't the guest entry cause a resync? >> >> If its a cr3/cr4 exit, yes. > > Well it has to be. Either we're switching from one NPT to the other > (todo) or do a normal cr3+cr4 switch. > > So I guess we can optimize here. Is it worth it? > I think so. We also need to make sure the entry causes a resync, even if cr3 doesn't change. Oh, exit needs to force a resync as well, in case the guest foolishly let its guest touch its page tables and issue invlpga asid=0. -- error compiling committee.c: too many arguments to function