Message ID | 20210202185734.1680553-29-bgardon@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Allow parallel MMU operations with TDP MMU | expand |
On 02/02/21 19:57, Ben Gardon wrote: > Disabling dirty logging is much more intestesting from a testing > perspective if the vCPUs are still running. This also excercises the > code-path in which collapsible SPTEs must be faulted back in at a higher > level after disabling dirty logging. > > To: linux-kselftest@vger.kernel.org > CC: Peter Xu <peterx@redhat.com> > CC: Andrew Jones <drjones@redhat.com> > CC: Thomas Huth <thuth@redhat.com> > Signed-off-by: Ben Gardon <bgardon@google.com> > --- > tools/testing/selftests/kvm/dirty_log_perf_test.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tools/testing/selftests/kvm/dirty_log_perf_test.c b/tools/testing/selftests/kvm/dirty_log_perf_test.c > index 604ccefd6e76..d44a5b8ef232 100644 > --- a/tools/testing/selftests/kvm/dirty_log_perf_test.c > +++ b/tools/testing/selftests/kvm/dirty_log_perf_test.c > @@ -205,11 +205,6 @@ static void run_test(enum vm_guest_mode mode, void *arg) > } > } > > - /* Tell the vcpu thread to quit */ > - host_quit = true; > - for (vcpu_id = 0; vcpu_id < nr_vcpus; vcpu_id++) > - pthread_join(vcpu_threads[vcpu_id], NULL); > - > /* Disable dirty logging */ > clock_gettime(CLOCK_MONOTONIC, &start); > vm_mem_region_set_flags(vm, PERF_TEST_MEM_SLOT_INDEX, 0); > @@ -217,6 +212,11 @@ static void run_test(enum vm_guest_mode mode, void *arg) > pr_info("Disabling dirty logging time: %ld.%.9lds\n", > ts_diff.tv_sec, ts_diff.tv_nsec); > > + /* Tell the vcpu thread to quit */ > + host_quit = true; > + for (vcpu_id = 0; vcpu_id < nr_vcpus; vcpu_id++) > + pthread_join(vcpu_threads[vcpu_id], NULL); > + > avg = timespec_div(get_dirty_log_total, p->iterations); > pr_info("Get dirty log over %lu iterations took %ld.%.9lds. (Avg %ld.%.9lds/iteration)\n", > p->iterations, get_dirty_log_total.tv_sec, > Queued the two selftests patches, because why not. Paolo
diff --git a/tools/testing/selftests/kvm/dirty_log_perf_test.c b/tools/testing/selftests/kvm/dirty_log_perf_test.c index 604ccefd6e76..d44a5b8ef232 100644 --- a/tools/testing/selftests/kvm/dirty_log_perf_test.c +++ b/tools/testing/selftests/kvm/dirty_log_perf_test.c @@ -205,11 +205,6 @@ static void run_test(enum vm_guest_mode mode, void *arg) } } - /* Tell the vcpu thread to quit */ - host_quit = true; - for (vcpu_id = 0; vcpu_id < nr_vcpus; vcpu_id++) - pthread_join(vcpu_threads[vcpu_id], NULL); - /* Disable dirty logging */ clock_gettime(CLOCK_MONOTONIC, &start); vm_mem_region_set_flags(vm, PERF_TEST_MEM_SLOT_INDEX, 0); @@ -217,6 +212,11 @@ static void run_test(enum vm_guest_mode mode, void *arg) pr_info("Disabling dirty logging time: %ld.%.9lds\n", ts_diff.tv_sec, ts_diff.tv_nsec); + /* Tell the vcpu thread to quit */ + host_quit = true; + for (vcpu_id = 0; vcpu_id < nr_vcpus; vcpu_id++) + pthread_join(vcpu_threads[vcpu_id], NULL); + avg = timespec_div(get_dirty_log_total, p->iterations); pr_info("Get dirty log over %lu iterations took %ld.%.9lds. (Avg %ld.%.9lds/iteration)\n", p->iterations, get_dirty_log_total.tv_sec,
Disabling dirty logging is much more intestesting from a testing perspective if the vCPUs are still running. This also excercises the code-path in which collapsible SPTEs must be faulted back in at a higher level after disabling dirty logging. To: linux-kselftest@vger.kernel.org CC: Peter Xu <peterx@redhat.com> CC: Andrew Jones <drjones@redhat.com> CC: Thomas Huth <thuth@redhat.com> Signed-off-by: Ben Gardon <bgardon@google.com> --- tools/testing/selftests/kvm/dirty_log_perf_test.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)