Commit e813129a authored by Sean Christopherson's avatar Sean Christopherson Committed by Paolo Bonzini
Browse files

KVM: selftests: Convert kvm_binary_stats_test away from vCPU IDs



Track vCPUs by their 'struct kvm_vcpu' object in kvm_binary_stats_test,
not by their ID.  The per-vCPU helpers will soon take a vCPU instead of a
VM+vcpu_id pair.

Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 0f678e73
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -172,9 +172,9 @@ static void vm_stats_test(struct kvm_vm *vm)
	TEST_ASSERT(fcntl(stats_fd, F_GETFD) == -1, "Stats fd not freed");
}

static void vcpu_stats_test(struct kvm_vm *vm, int vcpu_id)
static void vcpu_stats_test(struct kvm_vcpu *vcpu)
{
	int stats_fd = vcpu_get_stats_fd(vm, vcpu_id);
	int stats_fd = vcpu_get_stats_fd(vcpu->vm, vcpu->id);

	stats_test(stats_fd);
	close(stats_fd);
@@ -195,6 +195,7 @@ static void vcpu_stats_test(struct kvm_vm *vm, int vcpu_id)
int main(int argc, char *argv[])
{
	int i, j;
	struct kvm_vcpu **vcpus;
	struct kvm_vm **vms;
	int max_vm = DEFAULT_NUM_VM;
	int max_vcpu = DEFAULT_NUM_VCPU;
@@ -220,17 +221,21 @@ int main(int argc, char *argv[])
	/* Create VMs and VCPUs */
	vms = malloc(sizeof(vms[0]) * max_vm);
	TEST_ASSERT(vms, "Allocate memory for storing VM pointers");

	vcpus = malloc(sizeof(struct kvm_vcpu *) * max_vm * max_vcpu);
	TEST_ASSERT(vcpus, "Allocate memory for storing vCPU pointers");

	for (i = 0; i < max_vm; ++i) {
		vms[i] = vm_create_barebones();
		for (j = 0; j < max_vcpu; ++j)
			__vm_vcpu_add(vms[i], j);
			vcpus[j * max_vcpu + i] = __vm_vcpu_add(vms[i], j);
	}

	/* Check stats read for every VM and VCPU */
	for (i = 0; i < max_vm; ++i) {
		vm_stats_test(vms[i]);
		for (j = 0; j < max_vcpu; ++j)
			vcpu_stats_test(vms[i], j);
			vcpu_stats_test(vcpus[j * max_vcpu + i]);
	}

	for (i = 0; i < max_vm; ++i)