KVM: selftests: Clean up global constants in hardware disable test

Rename the global constants in the hardware disable test to better
capture what they control, and open code the literal number of sleeping
tasks and iterations instead of using power-of-2 math to express values
that are 100% arbitrary.

Opportunistically tag the global semaphore with "static".

No functional change intended.

Link: https://patch.msgid.link/20260731195612.2697986-13-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
Sean Christopherson 2026-07-31 12:56:12 -07:00
parent 939b20e5f3
commit 1039496ae7

View File

@ -17,13 +17,13 @@
#include "kvm_util.h"
#include "ucall_common.h"
#define VCPU_NUM 4
#define SLEEPING_THREAD_NUM (1 << 4)
#define FORK_NUM (1ULL << 9)
#define DELAY_US_MAX 2000
#define NR_VCPUS 4
#define NR_SLEEPERS_PER_VCPU 16
#define NR_ITERATIONS 512
#define DELAY_US_MAX 2000
static cpu_set_t threads_cpu_set;
sem_t *sem;
static sem_t *sem;
static void guest_code(void)
{
@ -75,15 +75,15 @@ static void run_test(u32 run)
TEST_ASSERT_EQ(pthread_attr_setaffinity_np(&attr, sizeof(cpu_set_t), &threads_cpu_set), 0);
#endif
vm = vm_create(VCPU_NUM);
vm = vm_create(NR_VCPUS);
pr_debug("%s: [%d] start vcpus\n", __func__, run);
for (i = 0; i < VCPU_NUM; ++i) {
for (i = 0; i < NR_VCPUS; ++i) {
vcpu = vm_vcpu_add(vm, i, guest_code);
kvm_pthread_create(&thread, &attr, run_vcpu, vcpu);
for (j = 0; j < SLEEPING_THREAD_NUM; ++j)
for (j = 0; j < NR_SLEEPERS_PER_VCPU; ++j)
kvm_pthread_create(&thread, &attr, sleeping_thread, (void *)NULL);
}
pr_debug("%s: [%d] all threads launched\n", __func__, run);
@ -132,7 +132,7 @@ int main(int argc, char **argv)
kvm_sched_getaffinity(0, sizeof(cpu_set_t), &allowed_cpu_set);
for (i = 0; i < VCPU_NUM && CPU_COUNT(&allowed_cpu_set); i++) {
for (i = 0; i < NR_VCPUS && CPU_COUNT(&allowed_cpu_set); i++) {
cpu = kvm_pick_random_cpu(&allowed_cpu_set);
CPU_CLR(cpu, &allowed_cpu_set);
CPU_SET(cpu, &threads_cpu_set);
@ -141,7 +141,7 @@ int main(int argc, char **argv)
sem = sem_open("vm_sem", O_CREAT | O_EXCL, 0644, 0);
sem_unlink("vm_sem");
for (i = 0; i < FORK_NUM; ++i) {
for (i = 0; i < NR_ITERATIONS; ++i) {
pid = fork();
TEST_ASSERT(pid >= 0, "%s: unable to fork", __func__);
if (pid == 0)