From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: Does KVM use one EPT table per Guest CR3? Date: Tue, 07 Dec 2010 16:11:50 -0600 Message-ID: <4CFEB126.6070409@codemonkey.ws> References: <562744ED4DABB345A26E01CB5D34F5103192CFFE@BL2PRD0103MB033.prod.exchangelabs.com>,<4CFEADC0.9030002@codemonkey.ws> <562744ED4DABB345A26E01CB5D34F51031930BF9@BL2PRD0103MB033.prod.exchangelabs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "kvm@vger.kernel.org" To: Lok Kwong Yan Return-path: Received: from mail-yw0-f46.google.com ([209.85.213.46]:34409 "EHLO mail-yw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753275Ab0LGWL4 (ORCPT ); Tue, 7 Dec 2010 17:11:56 -0500 Received: by ywl5 with SMTP id 5so298379ywl.19 for ; Tue, 07 Dec 2010 14:11:56 -0800 (PST) In-Reply-To: <562744ED4DABB345A26E01CB5D34F51031930BF9@BL2PRD0103MB033.prod.exchangelabs.com> Sender: kvm-owner@vger.kernel.org List-ID: On 12/07/2010 04:00 PM, Lok Kwong Yan wrote: > Thanks for the quick response. It is greatly appreciated. > > Can you please point me in the right direction on finding out why the EPTP (EPT_POINTER& mmu.root_hpa) have so many different values? > The table is built dynamically as memory is faulted in so it changes over time. But the rate is significantly less than the rate you'd see with shadow paging. Unlike Xen, KVM doesn't just built an EPT table all at once and leave it alone. The has to be updated as the guest is swapped in and out of memory. Regards, Anthony Liguori > Thanks again. > > ________________________________________ > From: Anthony Liguori [anthony@codemonkey.ws] > Sent: Tuesday, December 07, 2010 4:57 PM > To: Lok Kwong Yan > Cc: kvm@vger.kernel.org > Subject: Re: Does KVM use one EPT table per Guest CR3? > > On 12/07/2010 03:47 PM, Lok Kwong Yan wrote: > >> After some testing and digging around the 2.6.32-26 Kernel, Ubuntu port, , it seems to me that KVM creates a separate EPT table for each separate guest CR3 value. So, if there are 100 guest processes, there are essentially 100 EPT tables. Is this correct? >> > No, it's not correct. > > Regards, > > Anthony Liguori > > >> If so, can someone please tell me where these tables are actually being created? Is this design decision a historical artifact from how QEMU/KVM (without EPT/NPT) created multiple shadow page tables so that each guest/virtual CR3 value has a corresponding real CR3 value so that memory based separation for the guest is enforced? >> >> Thanks!-- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> >