Message ID | 20230427201112.2164776-3-peterx@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | selftests/kvm: Fixes for demand paging test | expand |
On Thu, Apr 27, 2023 at 1:11 PM Peter Xu <peterx@redhat.com> wrote: > > There's one PER_VCPU_DEBUG in per-vcpu uffd threads but it's never hit. > > Trigger that when quit in normal ways (kick pollfd[1]), meanwhile fix the > number of nanosec calculation. > > Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: James Houghton <jthoughton@google.com> > --- > tools/testing/selftests/kvm/lib/userfaultfd_util.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/kvm/lib/userfaultfd_util.c b/tools/testing/selftests/kvm/lib/userfaultfd_util.c > index 92cef20902f1..271f63891581 100644 > --- a/tools/testing/selftests/kvm/lib/userfaultfd_util.c > +++ b/tools/testing/selftests/kvm/lib/userfaultfd_util.c > @@ -70,7 +70,7 @@ static void *uffd_handler_thread_fn(void *arg) > r = read(pollfd[1].fd, &tmp_chr, 1); > TEST_ASSERT(r == 1, > "Error reading pipefd in UFFD thread\n"); > - return NULL; > + break; > } > > if (!(pollfd[0].revents & POLLIN)) > @@ -103,7 +103,7 @@ static void *uffd_handler_thread_fn(void *arg) > ts_diff = timespec_elapsed(start); > PER_VCPU_DEBUG("userfaulted %ld pages over %ld.%.9lds. (%f/sec)\n", > pages, ts_diff.tv_sec, ts_diff.tv_nsec, > - pages / ((double)ts_diff.tv_sec + (double)ts_diff.tv_nsec / 100000000.0)); > + pages / ((double)ts_diff.tv_sec + (double)ts_diff.tv_nsec / NSEC_PER_SEC)); I almost confused this fix for [1]. Thanks for catching this! [1]: https://lore.kernel.org/kvm/20230223001805.2971237-1-amoorthy@google.com/ > > return NULL; > } > -- > 2.39.1 >
diff --git a/tools/testing/selftests/kvm/lib/userfaultfd_util.c b/tools/testing/selftests/kvm/lib/userfaultfd_util.c index 92cef20902f1..271f63891581 100644 --- a/tools/testing/selftests/kvm/lib/userfaultfd_util.c +++ b/tools/testing/selftests/kvm/lib/userfaultfd_util.c @@ -70,7 +70,7 @@ static void *uffd_handler_thread_fn(void *arg) r = read(pollfd[1].fd, &tmp_chr, 1); TEST_ASSERT(r == 1, "Error reading pipefd in UFFD thread\n"); - return NULL; + break; } if (!(pollfd[0].revents & POLLIN)) @@ -103,7 +103,7 @@ static void *uffd_handler_thread_fn(void *arg) ts_diff = timespec_elapsed(start); PER_VCPU_DEBUG("userfaulted %ld pages over %ld.%.9lds. (%f/sec)\n", pages, ts_diff.tv_sec, ts_diff.tv_nsec, - pages / ((double)ts_diff.tv_sec + (double)ts_diff.tv_nsec / 100000000.0)); + pages / ((double)ts_diff.tv_sec + (double)ts_diff.tv_nsec / NSEC_PER_SEC)); return NULL; }
There's one PER_VCPU_DEBUG in per-vcpu uffd threads but it's never hit. Trigger that when quit in normal ways (kick pollfd[1]), meanwhile fix the number of nanosec calculation. Signed-off-by: Peter Xu <peterx@redhat.com> --- tools/testing/selftests/kvm/lib/userfaultfd_util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)