lkml.org 
[lkml]   [2019]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/45] KVM: VMX: Allocate VPID after initializing VCPU
    Date
    Do VPID allocation after calling the common kvm_vcpu_init() as a step
    towards doing vCPU allocation (via kmem_cache_zalloc()) and calling
    kvm_vcpu_init() back-to-back. Squishing allocation and initialization
    together will eventually allow the sequence to be moved to arch-agnostic
    creation code.

    Note, the VPID is not consumed until KVM_RUN, slightly delaying its
    allocation should have no real function impact. VPID allocation was
    arbitrarily placed in the original patch, commit 2384d2b326408 ("KVM:
    VMX: Enable Virtual Processor Identification (VPID)").

    Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    ---
    arch/x86/kvm/vmx/vmx.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
    index e660e28e9ae0..501e88bd6204 100644
    --- a/arch/x86/kvm/vmx/vmx.c
    +++ b/arch/x86/kvm/vmx/vmx.c
    @@ -6726,14 +6726,14 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id)
    goto free_user_fpu;
    }

    - vmx->vpid = allocate_vpid();
    -
    err = kvm_vcpu_init(&vmx->vcpu, kvm, id);
    if (err)
    goto free_vcpu;

    err = -ENOMEM;

    + vmx->vpid = allocate_vpid();
    +
    /*
    * If PML is turned on, failure on enabling PML just results in failure
    * of creating the vcpu, therefore we can simplify PML logic (by
    @@ -6823,8 +6823,8 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id)
    vmx_destroy_pml_buffer(vmx);
    uninit_vcpu:
    kvm_vcpu_uninit(&vmx->vcpu);
    + free_vpid(vmx->vpid);
    free_vcpu:
    - free_vpid(vmx->vpid);
    kmem_cache_free(x86_fpu_cache, vmx->vcpu.arch.guest_fpu);
    free_user_fpu:
    kmem_cache_free(x86_fpu_cache, vmx->vcpu.arch.user_fpu);
    --
    2.22.0
    \
     
     \ /
      Last update: 2019-10-22 04:00    [W:4.781 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site