Messages in this thread | | | Subject | Re: [PATCH RFC] KVM: x86: tell guests if the exposed SMT topology is trustworthy | From | Ankur Arora <> | Date | Thu, 5 Dec 2019 20:01:13 -0800 |
| |
On 2019-11-05 3:56 p.m., Paolo Bonzini wrote: > On 05/11/19 17:17, Vitaly Kuznetsov wrote: >> There is also one additional piece of the information missing. A VM can be >> sharing physical cores with other VMs (or other userspace tasks on the >> host) so does KVM_FEATURE_TRUSTWORTHY_SMT imply that it's not the case or >> not? It is unclear if this changes anything and can probably be left out >> of scope (just don't do that). >> >> Similar to the already existent 'NoNonArchitecturalCoreSharing' Hyper-V >> enlightenment, the default value of KVM_HINTS_TRUSTWORTHY_SMT is set to >> !cpu_smt_possible(). KVM userspace is thus supposed to pass it to guest's >> CPUIDs in case it is '1' (meaning no SMT on the host at all) or do some >> extra work (like CPU pinning and exposing the correct topology) before >> passing '1' to the guest. >> >> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> >> --- >> Documentation/virt/kvm/cpuid.rst | 27 +++++++++++++++++++-------- >> arch/x86/include/uapi/asm/kvm_para.h | 2 ++ >> arch/x86/kvm/cpuid.c | 7 ++++++- >> 3 files changed, 27 insertions(+), 9 deletions(-) >> >> diff --git a/Documentation/virt/kvm/cpuid.rst b/Documentation/virt/kvm/cpuid.rst >> index 01b081f6e7ea..64b94103fc90 100644 >> --- a/Documentation/virt/kvm/cpuid.rst >> +++ b/Documentation/virt/kvm/cpuid.rst >> @@ -86,6 +86,10 @@ KVM_FEATURE_PV_SCHED_YIELD 13 guest checks this feature bit >> before using paravirtualized >> sched yield. >> >> +KVM_FEATURE_TRUSTWORTHY_SMT 14 set when host supports 'SMT >> + topology is trustworthy' hint >> + (KVM_HINTS_TRUSTWORTHY_SMT). >> + > > Instead of defining a one-off bit, can we make: > > ecx = the set of known "hints" (defaults to edx if zero) > > edx = the set of hints that apply to the virtual machine Just to resurrect this thread, the guest could explicitly ACK a KVM_FEATURE_DYNAMIC_HINT at init. This would allow the host to change the hints whenever with the guest not needing to separately ACK the changed hints.
Ankur
> > Paolo > 6
| |