[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191220105049.3fbdbbcc.cohuck@redhat.com>
Date: Fri, 20 Dec 2019 10:50:49 +0100
From: Cornelia Huck <cohuck@...hat.com>
To: Sean Christopherson <sean.j.christopherson@...el.com>
Cc: Marc Zyngier <maz@...nel.org>, James Hogan <jhogan@...nel.org>,
Paul Mackerras <paulus@...abs.org>,
Christian Borntraeger <borntraeger@...ibm.com>,
Janosch Frank <frankja@...ux.ibm.com>,
Paolo Bonzini <pbonzini@...hat.com>,
James Morse <james.morse@....com>,
Julien Thierry <julien.thierry.kdev@...il.com>,
Suzuki K Poulose <suzuki.poulose@....com>,
David Hildenbrand <david@...hat.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>,
linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.cs.columbia.edu,
linux-mips@...r.kernel.org, kvm-ppc@...r.kernel.org,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
Greg Kurz <groug@...d.org>
Subject: Re: [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@...el.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@....com>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@...el.com>
> ---
> virt/kvm/kvm_main.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
Reviewed-by: Cornelia Huck <cohuck@...hat.com>
Powered by blists - more mailing lists