summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrendan Jackman <jackmanb@google.com>2025-10-07 19:12:31 +0000
committerSean Christopherson <seanjc@google.com>2025-10-20 08:55:23 -0700
commitb146b289f759315fd27402a40bc15214515e6c45 (patch)
tree1d4b21920d7de1d015448ec1f295f91143416ed8
parent211ddde0823f1442e4ad052a2f30f050145ccada (diff)
KVM: selftests: Don't fall over in mmu_stress_test when only one CPU is present
Running mmu_stress_test on a system with only one CPU is not a recipe for success. However, there's no clear-cut reason why it absolutely shouldn't work, so the test shouldn't completely reject such a platform. At present, the *3/4 calculation will return zero on these platforms and the test fails. So, instead just skip that calculation. Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Brendan Jackman <jackmanb@google.com> Link: https://lore.kernel.org/r/20251007-b4-kvm-mmu-stresstest-1proc-v1-1-8c95aa0e30b6@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
-rw-r--r--tools/testing/selftests/kvm/mmu_stress_test.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/testing/selftests/kvm/mmu_stress_test.c b/tools/testing/selftests/kvm/mmu_stress_test.c
index 37b7e6524533..c799e0d0694f 100644
--- a/tools/testing/selftests/kvm/mmu_stress_test.c
+++ b/tools/testing/selftests/kvm/mmu_stress_test.c
@@ -263,8 +263,10 @@ static void calc_default_nr_vcpus(void)
TEST_ASSERT(!r, "sched_getaffinity failed, errno = %d (%s)",
errno, strerror(errno));
- nr_vcpus = CPU_COUNT(&possible_mask) * 3/4;
+ nr_vcpus = CPU_COUNT(&possible_mask);
TEST_ASSERT(nr_vcpus > 0, "Uh, no CPUs?");
+ if (nr_vcpus >= 2)
+ nr_vcpus = nr_vcpus * 3/4;
}
int main(int argc, char *argv[])