[PATCH v2 06/12] KVM: selftests: Affine threads to random CPUs in hardware disable test

From: Sean Christopherson

Date: Fri Jul 31 2026 - 13:16:28 EST


Affine the worker threads to random CPUs in the hardware disable test, and
honor the starting CPU set in the process. Hardcoding to CPUs 0-3 is both
wrong and less interesting than running on random CPUs.

Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
---
tools/testing/selftests/kvm/hardware_disable_test.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/kvm/hardware_disable_test.c b/tools/testing/selftests/kvm/hardware_disable_test.c
index d8288147b0a6..bd23c1300370 100644
--- a/tools/testing/selftests/kvm/hardware_disable_test.c
+++ b/tools/testing/selftests/kvm/hardware_disable_test.c
@@ -149,12 +149,15 @@ void wait_for_child_setup(pid_t pid)

int main(int argc, char **argv)
{
+ cpu_set_t allowed_cpu_set;
u32 i;
int s, r;
pid_t pid;

- for (i = 0; i < VCPU_NUM; i++)
- CPU_SET(i, &threads_cpu_set);
+ kvm_sched_getaffinity(0, sizeof(cpu_set_t), &allowed_cpu_set);
+
+ for (i = 0; i < VCPU_NUM && CPU_COUNT(&allowed_cpu_set); i++)
+ CPU_SET(kvm_pick_random_cpu(&allowed_cpu_set), &threads_cpu_set);

sem = sem_open("vm_sem", O_CREAT | O_EXCL, 0644, 0);
sem_unlink("vm_sem");
--
2.55.0.508.g3f0d502094-goog