mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
KVM: selftests: Skip the max vCPU ID test when KVM_CAP_PPC_SMT is set
kvm_create_max_vcpus creates vCPUs from 0..MAX_VCPUS-1, then again with ids at the top of KVM_CAP_MAX_VCPU_ID. On PowerPC the vCPU id is not a flat index: it encodes SMT thread plus core. So on powerpc maximum permitted vCPU ID depends on the VM's SMT mode and the maximum reported by KVM_CAP_MAX_VCPU_ID exceeds a simple non-SMT VM's limit. So, skip that second loop when KVM_CAP_PPC_SMT is non-zero. The cap is 0 on other arches, so they still run it. The 0..MAX_VCPUS pass is unchanged. Suggested-by: Sean Christopherson <seanjc@google.com> Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> Reviewed-by: Gautam Menghani <gautam@linux.ibm.com> Tested-by: Gautam Menghani <gautam@linux.ibm.com> Acked-by: Madhavan Srinivasan <maddy@linux.ibm.com> Link: https://patch.msgid.link/bbfbaa9fb2eca8c92f59dc980546c2587dcfc130.1791280439.git.ritesh.list@gmail.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
f51639c0ee
commit
2bc2c4a810
|
|
@ -58,7 +58,13 @@ int main(int argc, char *argv[])
|
|||
|
||||
test_vcpu_creation(0, kvm_max_vcpus);
|
||||
|
||||
if (kvm_max_vcpu_id > kvm_max_vcpus)
|
||||
/*
|
||||
* Skip the vCPU ID test when running on PowerPC with SMT support, in
|
||||
* which case system topology is encoded into the vCPU ID and so a VM
|
||||
* can't use the full advertised vCPU ID range without crafting a valid
|
||||
* platform specific topology.
|
||||
*/
|
||||
if (kvm_max_vcpu_id > kvm_max_vcpus && !kvm_check_cap(KVM_CAP_PPC_SMT))
|
||||
test_vcpu_creation(
|
||||
kvm_max_vcpu_id - kvm_max_vcpus, kvm_max_vcpus);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user