On Thu, Apr 27, 2023 at 1:11 PM Peter Xu <peterx@xxxxxxxxxx> 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@xxxxxxxxxx> Reviewed-by: James Houghton <jthoughton@xxxxxxxxxx> > --- > 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@xxxxxxxxxx/ > > return NULL; > } > -- > 2.39.1 >