lkml.org 
[lkml]   [2019]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 32/45] KVM: Move initialization of preempt notifier to kvm_vcpu_init()
    On Wed, 18 Dec 2019 13:55:17 -0800
    Sean Christopherson <sean.j.christopherson@intel.com> wrote:

    > Initialize the preempt notifier immediately in kvm_vcpu_init() to pave
    > the way for removing kvm_arch_vcpu_setup(), i.e. to allow arch specific
    > code to call vcpu_load() during kvm_arch_vcpu_create().
    >
    > Back when preemption support was added, the location of the call to init
    > the preempt notifier was perfectly sane. The overall vCPU creation flow
    > featured a single arch specific hook and the preempt notifer was used
    > immediately after its initialization (by vcpu_load()). E.g.:
    >
    > vcpu = kvm_arch_ops->vcpu_create(kvm, n);
    > if (IS_ERR(vcpu))
    > return PTR_ERR(vcpu);
    >
    > preempt_notifier_init(&vcpu->preempt_notifier, &kvm_preempt_ops);
    >
    > vcpu_load(vcpu);
    > r = kvm_mmu_setup(vcpu);
    > vcpu_put(vcpu);
    > if (r < 0)
    > goto free_vcpu;
    >
    > Today, the call to preempt_notifier_init() is sandwiched between two
    > arch specific calls, kvm_arch_vcpu_create() and kvm_arch_vcpu_setup(),
    > which needlessly forces x86 (and possibly others?) to split its vCPU
    > creation flow. Init the preempt notifier prior to any arch specific
    > call so that each arch can independently decide how best to organize
    > its creation flow.
    >
    > Acked-by: Christoffer Dall <christoffer.dall@arm.com>
    > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    > ---
    > virt/kvm/kvm_main.c | 3 +--
    > 1 file changed, 1 insertion(+), 2 deletions(-)

    Reviewed-by: Cornelia Huck <cohuck@redhat.com>

    \
     
     \ /
      Last update: 2019-12-20 10:52    [W:4.509 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site