From: Sean Christopherson <sean.j.christopherson@intel.com> To: Marc Zyngier <maz@kernel.org>, James Hogan <jhogan@kernel.org>, Paul Mackerras <paulus@ozlabs.org>, Christian Borntraeger <borntraeger@de.ibm.com>, Janosch Frank <frankja@linux.ibm.com>, Paolo Bonzini <pbonzini@redhat.com> Cc: James Morse <james.morse@arm.com>, Julien Thierry <julien.thierry.kdev@gmail.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, David Hildenbrand <david@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Sean Christopherson <sean.j.christopherson@intel.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kurz <groug@kaod.org> Subject: [PATCH v2 28/45] KVM: x86: Invoke kvm_vcpu_uninit() immediately prior to freeing vcpu Date: Wed, 18 Dec 2019 13:55:13 -0800 [thread overview] Message-ID: <20191218215530.2280-29-sean.j.christopherson@intel.com> (raw) In-Reply-To: <20191218215530.2280-1-sean.j.christopherson@intel.com> Move the call to kvm_vcpu_uninit() in kvm_arch_vcpu_destroy() down a few lines so that it is invoked immediately prior to freeing the vCPU. This paves the way for moving the uninit and free sequence to common KVM code without an associated functional change. Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> --- arch/x86/kvm/x86.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index c8b875aefeee..f21169515910 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -9170,11 +9170,11 @@ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu) kvm_x86_ops->vcpu_free(vcpu); - kvm_vcpu_uninit(vcpu); - free_cpumask_var(vcpu->arch.wbinvd_dirty_mask); kmem_cache_free(x86_fpu_cache, vcpu->arch.user_fpu); kmem_cache_free(x86_fpu_cache, vcpu->arch.guest_fpu); + + kvm_vcpu_uninit(vcpu); kmem_cache_free(kvm_vcpu_cache, vcpu); } -- 2.24.1
next prev parent reply other threads:[~2019-12-18 21:57 UTC|newest] Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-18 21:54 [PATCH v2 00/45] KVM: Refactor vCPU creation Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 01/45] KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails Sean Christopherson 2020-01-20 2:57 ` Paul Mackerras 2019-12-18 21:54 ` [PATCH v2 02/45] KVM: PPC: Book3S PR: Free shared page if mmu initialization fails Sean Christopherson 2020-01-20 3:00 ` Paul Mackerras 2019-12-18 21:54 ` [PATCH v2 03/45] KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 04/45] KVM: VMX: Allocate VPID after initializing VCPU Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 05/45] KVM: VMX: Use direct vcpu pointer during vCPU create/free Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 06/45] KVM: SVM: " Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 07/45] KVM: x86: Allocate vcpu struct in common x86 code Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 08/45] KVM: x86: Move FPU allocation to " Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 09/45] KVM: x86: Move allocation of pio_data page down a few lines Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 10/45] KVM: x86: Move kvm_vcpu_init() invocation to common code Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 11/45] KVM: PPC: e500mc: Add build-time assert that vcpu is at offset 0 Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 12/45] KVM: PPC: Allocate vcpu struct in common PPC code Sean Christopherson 2020-01-20 4:04 ` Paul Mackerras 2020-01-21 11:05 ` Paolo Bonzini 2020-01-21 23:18 ` Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 13/45] KVM: PPC: Book3S PR: Allocate book3s and shadow vcpu after common init Sean Christopherson 2019-12-18 21:54 ` [PATCH v2 14/45] KVM: PPC: e500mc: Move reset of oldpir below call to kvm_vcpu_init() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 15/45] KVM: PPC: Move kvm_vcpu_init() invocation to common code Sean Christopherson 2020-01-20 3:34 ` Paul Mackerras 2020-01-21 11:08 ` Paolo Bonzini 2020-01-20 3:56 ` Paul Mackerras 2019-12-18 21:55 ` [PATCH v2 16/45] KVM: MIPS: Use kvm_vcpu_cache to allocate vCPUs Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 17/45] KVM: MIPS: Drop kvm_arch_vcpu_free() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 18/45] KVM: PPC: " Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 19/45] KVM: arm: " Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 20/45] KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 21/45] KVM: x86: Remove spurious clearing of async #PF MSR Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 22/45] KVM: x86: Drop kvm_arch_vcpu_free() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 23/45] KVM: Remove kvm_arch_vcpu_free() declaration Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 24/45] KVM: Add kvm_arch_vcpu_precreate() to handle pre-allocation issues Sean Christopherson 2019-12-19 19:28 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 25/45] KVM: s390: Move guts of kvm_arch_vcpu_init() into kvm_arch_vcpu_create() Sean Christopherson 2019-12-19 19:39 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 26/45] KVM: s390: Invoke kvm_vcpu_init() before allocating sie_page Sean Christopherson 2019-12-19 19:47 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 27/45] KVM: MIPS: Invoke kvm_vcpu_uninit() immediately prior to freeing vcpu Sean Christopherson 2019-12-18 21:55 ` Sean Christopherson [this message] 2019-12-18 21:55 ` [PATCH v2 29/45] KVM: Introduce kvm_vcpu_destroy() Sean Christopherson 2019-12-19 19:51 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 30/45] KVM: Move vcpu alloc and init invocation to common code Sean Christopherson 2019-12-20 9:33 ` Cornelia Huck 2019-12-20 15:53 ` Sean Christopherson 2019-12-20 16:00 ` Cornelia Huck 2020-01-26 3:02 ` Guenter Roeck 2019-12-18 21:55 ` [PATCH v2 31/45] KVM: Unexport kvm_vcpu_cache and kvm_vcpu_{un}init() Sean Christopherson 2019-12-20 9:39 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 32/45] KVM: Move initialization of preempt notifier to kvm_vcpu_init() Sean Christopherson 2019-12-20 9:50 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 33/45] KVM: x86: Move guts of kvm_arch_vcpu_setup() into kvm_arch_vcpu_create() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 34/45] KVM: MIPS: Move .vcpu_setup() call to kvm_arch_vcpu_create() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 35/45] KVM: s390: Manually invoke vcpu setup during kvm_arch_vcpu_create() Sean Christopherson 2019-12-20 10:04 ` Cornelia Huck 2019-12-20 15:56 ` Sean Christopherson 2019-12-20 16:02 ` Cornelia Huck 2019-12-20 16:22 ` Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 36/45] KVM: PPC: BookE: Setup vcpu during kvmppc_core_vcpu_create() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 37/45] KVM: Drop kvm_arch_vcpu_setup() Sean Christopherson 2019-12-20 10:06 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 38/45] KVM: x86: Move all vcpu init code into kvm_arch_vcpu_create() Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 39/45] KVM: MIPS: " Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 40/45] KVM: ARM: " Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 41/45] KVM: PPC: " Sean Christopherson 2020-01-20 3:46 ` Paul Mackerras 2020-01-21 11:12 ` Paolo Bonzini 2019-12-18 21:55 ` [PATCH v2 42/45] KVM: arm64: Free sve_state via arm specific hook Sean Christopherson 2019-12-18 21:55 ` [PATCH v2 43/45] KVM: Drop kvm_arch_vcpu_init() and kvm_arch_vcpu_uninit() Sean Christopherson 2019-12-20 10:13 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 44/45] KVM: Move putting of vcpu->pid to kvm_vcpu_destroy() Sean Christopherson 2019-12-20 10:16 ` Cornelia Huck 2019-12-18 21:55 ` [PATCH v2 45/45] KVM: Move vcpu->run page allocation out of kvm_vcpu_init() Sean Christopherson 2019-12-20 10:30 ` Cornelia Huck 2020-01-18 20:01 ` [PATCH v2 00/45] KVM: Refactor vCPU creation Paolo Bonzini
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191218215530.2280-29-sean.j.christopherson@intel.com \ --to=sean.j.christopherson@intel.com \ --cc=borntraeger@de.ibm.com \ --cc=cohuck@redhat.com \ --cc=david@redhat.com \ --cc=frankja@linux.ibm.com \ --cc=groug@kaod.org \ --cc=james.morse@arm.com \ --cc=jhogan@kernel.org \ --cc=jmattson@google.com \ --cc=joro@8bytes.org \ --cc=julien.thierry.kdev@gmail.com \ --cc=kvm-ppc@vger.kernel.org \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mips@vger.kernel.org \ --cc=maz@kernel.org \ --cc=paulus@ozlabs.org \ --cc=pbonzini@redhat.com \ --cc=suzuki.poulose@arm.com \ --cc=vkuznets@redhat.com \ --cc=wanpengli@tencent.com \ --subject='Re: [PATCH v2 28/45] KVM: x86: Invoke kvm_vcpu_uninit() immediately prior to freeing vcpu' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).