Merge tag 'kvmarm-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm...
[sfrench/cifs-2.6.git] / tools / testing / selftests / kvm / demand_paging_test.c
index 8e1fe4ffcccdfa60d7d833e6e70418151a2a886a..b0e1fc4de9e29ed551a27f120913def718fc0331 100644 (file)
@@ -20,7 +20,7 @@
 
 #include "kvm_util.h"
 #include "test_util.h"
-#include "perf_test_util.h"
+#include "memstress.h"
 #include "guest_modes.h"
 #include "userfaultfd_util.h"
 
@@ -32,7 +32,7 @@ static uint64_t guest_percpu_mem_size = DEFAULT_PER_VCPU_MEM_SIZE;
 static size_t demand_paging_size;
 static char *guest_data_prototype;
 
-static void vcpu_worker(struct perf_test_vcpu_args *vcpu_args)
+static void vcpu_worker(struct memstress_vcpu_args *vcpu_args)
 {
        struct kvm_vcpu *vcpu = vcpu_args->vcpu;
        int vcpu_idx = vcpu_args->vcpu_idx;
@@ -135,7 +135,7 @@ static void run_test(enum vm_guest_mode mode, void *arg)
        struct kvm_vm *vm;
        int i;
 
-       vm = perf_test_create_vm(mode, nr_vcpus, guest_percpu_mem_size, 1,
+       vm = memstress_create_vm(mode, nr_vcpus, guest_percpu_mem_size, 1,
                                 p->src_type, p->partition_vcpu_memory_access);
 
        demand_paging_size = get_backing_src_pagesz(p->src_type);
@@ -150,18 +150,18 @@ static void run_test(enum vm_guest_mode mode, void *arg)
                TEST_ASSERT(uffd_descs, "Memory allocation failed");
 
                for (i = 0; i < nr_vcpus; i++) {
-                       struct perf_test_vcpu_args *vcpu_args;
+                       struct memstress_vcpu_args *vcpu_args;
                        void *vcpu_hva;
                        void *vcpu_alias;
 
-                       vcpu_args = &perf_test_args.vcpu_args[i];
+                       vcpu_args = &memstress_args.vcpu_args[i];
 
                        /* Cache the host addresses of the region */
                        vcpu_hva = addr_gpa2hva(vm, vcpu_args->gpa);
                        vcpu_alias = addr_gpa2alias(vm, vcpu_args->gpa);
 
                        prefault_mem(vcpu_alias,
-                               vcpu_args->pages * perf_test_args.guest_page_size);
+                               vcpu_args->pages * memstress_args.guest_page_size);
 
                        /*
                         * Set up user fault fd to handle demand paging
@@ -169,7 +169,7 @@ static void run_test(enum vm_guest_mode mode, void *arg)
                         */
                        uffd_descs[i] = uffd_setup_demand_paging(
                                p->uffd_mode, p->uffd_delay, vcpu_hva,
-                               vcpu_args->pages * perf_test_args.guest_page_size,
+                               vcpu_args->pages * memstress_args.guest_page_size,
                                &handle_uffd_page_request);
                }
        }
@@ -177,10 +177,10 @@ static void run_test(enum vm_guest_mode mode, void *arg)
        pr_info("Finished creating vCPUs and starting uffd threads\n");
 
        clock_gettime(CLOCK_MONOTONIC, &start);
-       perf_test_start_vcpu_threads(nr_vcpus, vcpu_worker);
+       memstress_start_vcpu_threads(nr_vcpus, vcpu_worker);
        pr_info("Started all vCPUs\n");
 
-       perf_test_join_vcpu_threads(nr_vcpus);
+       memstress_join_vcpu_threads(nr_vcpus);
        ts_diff = timespec_elapsed(start);
        pr_info("All vCPU threads joined\n");
 
@@ -193,10 +193,10 @@ static void run_test(enum vm_guest_mode mode, void *arg)
        pr_info("Total guest execution time: %ld.%.9lds\n",
                ts_diff.tv_sec, ts_diff.tv_nsec);
        pr_info("Overall demand paging rate: %f pgs/sec\n",
-               perf_test_args.vcpu_args[0].pages * nr_vcpus /
+               memstress_args.vcpu_args[0].pages * nr_vcpus /
                ((double)ts_diff.tv_sec + (double)ts_diff.tv_nsec / 100000000.0));
 
-       perf_test_destroy_vm(vm);
+       memstress_destroy_vm(vm);
 
        free(guest_data_prototype);
        if (p->uffd_mode)
@@ -259,8 +259,8 @@ int main(int argc, char *argv[])
                        p.src_type = parse_backing_src_type(optarg);
                        break;
                case 'v':
-                       nr_vcpus = atoi(optarg);
-                       TEST_ASSERT(nr_vcpus > 0 && nr_vcpus <= max_vcpus,
+                       nr_vcpus = atoi_positive("Number of vCPUs", optarg);
+                       TEST_ASSERT(nr_vcpus <= max_vcpus,
                                    "Invalid number of vcpus, must be between 1 and %d", max_vcpus);
                        break;
                case 'o':