From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] new version of loaded_vmcs patch Date: Tue, 24 May 2011 16:14:56 +0300 Message-ID: <4DDBAF50.1050204@redhat.com> References: <20110524122610.GA8549@fermat.math.technion.ac.il> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: "Nadav Har'El" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:46028 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751833Ab1EXNPD (ORCPT ); Tue, 24 May 2011 09:15:03 -0400 In-Reply-To: <20110524122610.GA8549@fermat.math.technion.ac.il> Sender: kvm-owner@vger.kernel.org List-ID: On 05/24/2011 03:26 PM, Nadav Har'El wrote: > Hi Avi, here is a updated version of the loaded_vmcs patch which you asked me > to send before the rest of the nvmx patches. > > Please let me know when you'd like me to send you an updated version of > the rest of the patches. > > ---------------------------------------------------------------------------- > Subject: [PATCH 01/31] nVMX: Keep list of loaded VMCSs, instead of vcpus. > > In VMX, before we bring down a CPU we must VMCLEAR all VMCSs loaded on it > because (at least in theory) the processor might not have written all of its > content back to memory. Since a patch from June 26, 2008, this is done using > a per-cpu "vcpus_on_cpu" linked list of vcpus loaded on each CPU. > > The problem is that with nested VMX, we no longer have the concept of a > vcpu being loaded on a cpu: A vcpu has multiple VMCSs (one for L1, a pool for > L2s), and each of those may be have been last loaded on a different cpu. > > So instead of linking the vcpus, we link the VMCSs, using a new structure > loaded_vmcs. This structure contains the VMCS, and the information pertaining > to its loading on a specific cpu (namely, the cpu number, and whether it > was already launched on this cpu once). In nested we will also use the same > structure to hold L2 VMCSs, and vmx->loaded_vmcs is a pointer to the > currently active VMCS. > Applied, thanks. Do you have a list of unresolved issues? If not, please repost the series. -- error compiling committee.c: too many arguments to function