From: isaku.yamahata@intel.com
To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: isaku.yamahata@intel.com, isaku.yamahata@gmail.com,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>,
Kai Huang <kai.huang@intel.com>, Chao Gao <chao.gao@intel.com>,
Will Deacon <will@kernel.org>
Subject: [RFC PATCH 00/18] KVM hardware enable/disable reorganize
Date: Fri, 19 Aug 2022 23:00:06 -0700 [thread overview]
Message-ID: <cover.1660974106.git.isaku.yamahata@intel.com> (raw)
From: Isaku Yamahata <isaku.yamahata@intel.com>
The purpose of this patch series is to get feedback before going further.
e.g. rebasing TDX KVM series, etc.
This patch series is to implement the suggestion by Sean Christopherson [1]
to reorganize enable/disable cpu virtualization feature by replacing
the arch-generic current enable/disable logic with PM related hooks. And
convert kvm/x86 to use new hooks.
- Untable x86 hardware enable logic, snapshot MSRs for user return notifier,
enabling cpu virtualization on cpu online and platform resume. and real
enabling of CPU virtualization feature
- Introduce hooks related to PM.
- Convert kvm/x86 code to user those hooks.
- Split out hardware enabling/disabling logic into a separate file. Compile
it for non-x86 code. Once conversion of other KVM archs is done, this file
can be dropped.
- Delete cpus_hardware_enabled. 17/18 and 18/18
[1] https://lore.kernel.org/kvm/YvU+6fdkHaqQiKxp@google.com/
Chao Gao (2):
KVM: x86: Move check_processor_compatibility from init ops to runtime
ops
Partially revert "KVM: Pass kvm_init()'s opaque param to additional
arch funcs"
Isaku Yamahata (16):
KVM: x86: Drop kvm_user_return_msr_cpu_online()
KVM: x86: Use this_cpu_ptr() instead of
per_cpu_ptr(smp_processor_id())
KVM: Drop kvm_count_lock and instead protect kvm_usage_count with
kvm_lock
KVM: Add arch hooks for PM events with empty stub
KVM: x86: Move TSC fixup logic to KVM arch resume callback
KVM: Add arch hook when VM is added/deleted
KVM: Move out KVM arch PM hooks and hardware enable/disable logic
KVM: kvm_arch.c: Remove _nolock post fix
KVM: kvm_arch.c: Remove a global variable, hardware_enable_failed
KVM: Do processor compatibility check on cpu online and resume
KVM: x86: Duplicate arch callbacks related to pm events
KVM: Eliminate kvm_arch_post_init_vm()
KVM: x86: Delete kvm_arch_hardware_enable/disable()
KVM: Add config to not compile kvm_arch.c
KVM: x86: Remove cpus_hardware_enabled and related sanity check
KVM: Remove cpus_hardware_enabled and related sanity check
Documentation/virt/kvm/locking.rst | 14 +--
arch/arm64/kvm/arm.c | 2 +-
arch/mips/kvm/mips.c | 2 +-
arch/powerpc/kvm/powerpc.c | 2 +-
arch/riscv/kvm/main.c | 2 +-
arch/s390/kvm/kvm-s390.c | 2 +-
arch/x86/include/asm/kvm-x86-ops.h | 1 +
arch/x86/include/asm/kvm_host.h | 2 +-
arch/x86/kvm/Kconfig | 1 +
arch/x86/kvm/svm/svm.c | 4 +-
arch/x86/kvm/vmx/vmx.c | 14 +--
arch/x86/kvm/x86.c | 184 ++++++++++++++++++++++-------
include/linux/kvm_host.h | 14 ++-
virt/kvm/Kconfig | 3 +
virt/kvm/Makefile.kvm | 3 +
virt/kvm/kvm_arch.c | 119 +++++++++++++++++++
virt/kvm/kvm_main.c | 177 ++++++++-------------------
17 files changed, 349 insertions(+), 197 deletions(-)
create mode 100644 virt/kvm/kvm_arch.c
--
2.25.1
next reply other threads:[~2022-08-20 6:00 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-20 6:00 isaku.yamahata [this message]
2022-08-20 6:00 ` [RFC PATCH 01/18] KVM: x86: Drop kvm_user_return_msr_cpu_online() isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 02/18] KVM: x86: Use this_cpu_ptr() instead of per_cpu_ptr(smp_processor_id()) isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 03/18] KVM: Drop kvm_count_lock and instead protect kvm_usage_count with kvm_lock isaku.yamahata
2022-08-23 2:26 ` Chao Gao
2022-08-23 8:40 ` Isaku Yamahata
2022-08-20 6:00 ` [RFC PATCH 04/18] KVM: Add arch hooks for PM events with empty stub isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 05/18] KVM: x86: Move TSC fixup logic to KVM arch resume callback isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 06/18] KVM: Add arch hook when VM is added/deleted isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 07/18] KVM: Move out KVM arch PM hooks and hardware enable/disable logic isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 08/18] KVM: kvm_arch.c: Remove _nolock post fix isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 09/18] KVM: kvm_arch.c: Remove a global variable, hardware_enable_failed isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 10/18] KVM: x86: Move check_processor_compatibility from init ops to runtime ops isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 11/18] Partially revert "KVM: Pass kvm_init()'s opaque param to additional arch funcs" isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 12/18] KVM: Do processor compatibility check on cpu online and resume isaku.yamahata
2022-08-23 7:50 ` Chao Gao
2022-08-23 8:08 ` Isaku Yamahata
2022-08-20 6:00 ` [RFC PATCH 13/18] KVM: x86: Duplicate arch callbacks related to pm events isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 14/18] KVM: Eliminate kvm_arch_post_init_vm() isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 15/18] KVM: x86: Delete kvm_arch_hardware_enable/disable() isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 16/18] KVM: Add config to not compile kvm_arch.c isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 17/18] KVM: x86: Remove cpus_hardware_enabled and related sanity check isaku.yamahata
2022-08-20 6:00 ` [RFC PATCH 18/18] KVM: " isaku.yamahata
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=cover.1660974106.git.isaku.yamahata@intel.com \
--to=isaku.yamahata@intel.com \
--cc=chao.gao@intel.com \
--cc=isaku.yamahata@gmail.com \
--cc=kai.huang@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=will@kernel.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.