Re: [PATCH 00/29] selftests/mm: Split / Refactor userfault test

From: Peter Xu
Date: Fri Mar 31 2023 - 12:52:04 EST


On Thu, Mar 30, 2023 at 11:56:38AM -0400, Peter Xu wrote:
> UFFDIO_API (with syscall)... done
> UFFDIO_API (with /dev/userfaultfd)... done
> zeropage on anon... done
> zeropage on shmem... done
> zeropage on shmem-private... done
> zeropage-hugetlb on hugetlb... done
> zeropage-hugetlb on hugetlb-private... done
> pagemap on anon... pagemap on anon... pagemap on anon... done
> wp-unpopulated on anon... done
> minor on shmem... done
> minor on hugetlb... done
> minor-wp on shmem... done
> minor-wp on hugetlb... done
> minor-collapse on shmem... done
> sigbus on anon... sigbus on anon... done
> sigbus on shmem... sigbus on shmem... done
> sigbus on shmem-private... sigbus on shmem-private... done
> sigbus on hugetlb... sigbus on hugetlb... done
> sigbus on hugetlb-private... sigbus on hugetlb-private... done
> sigbus-wp on anon... sigbus-wp on anon... done
> sigbus-wp on shmem... sigbus-wp on shmem... done
> sigbus-wp on shmem-private... sigbus-wp on shmem-private... done
> sigbus-wp on hugetlb... sigbus-wp on hugetlb... done
> sigbus-wp on hugetlb-private... sigbus-wp on hugetlb-private... done
> events on anon... events on anon... done
> events on shmem... events on shmem... done
> events on shmem-private... events on shmem-private... done
> events on hugetlb... events on hugetlb... done
> events on hugetlb-private... events on hugetlb-private... done
> events-wp on anon... events-wp on anon... done
> events-wp on shmem... events-wp on shmem... done
> events-wp on shmem-private... events-wp on shmem-private... done
> events-wp on hugetlb... events-wp on hugetlb... done
> events-wp on hugetlb-private... events-wp on hugetlb-private... done

Oops, the sigbus/events test do not look right here.. I think I slightly
messed it up right before I post this set.

I'll squash below change into "selftests/mm: UFFDIO_API test" in the next
post to fix this up:

===8<===
diff --git a/tools/testing/selftests/mm/uffd-unit-tests.c b/tools/testing/selftests/mm/uffd-unit-tests.c
index 9e7f7c7f2982..793931da5056 100644
--- a/tools/testing/selftests/mm/uffd-unit-tests.c
+++ b/tools/testing/selftests/mm/uffd-unit-tests.c
@@ -92,8 +92,10 @@ static void uffd_test_pass(void)
}

#define uffd_test_start(...) do { \
+ printf("Testing "); \
printf(__VA_ARGS__); \
printf("... "); \
+ fflush(stdout); \
uffd_test_acct.total++; \
} while (0)
===8<===

So it should look like:

===8<===
Testing UFFDIO_API (with syscall)... done
Testing UFFDIO_API (with /dev/userfaultfd)... done
Testing zeropage on anon... done
Testing zeropage on shmem... done
Testing zeropage on shmem-private... done
Testing zeropage-hugetlb on hugetlb... done
Testing zeropage-hugetlb on hugetlb-private... done
Testing pagemap on anon... done
Testing wp-unpopulated on anon... done
Testing minor on shmem... done
Testing minor on hugetlb... done
Testing minor-wp on shmem... done
Testing minor-wp on hugetlb... done
Testing minor-collapse on shmem... done
Testing sigbus on anon... done
Testing sigbus on shmem... done
Testing sigbus on shmem-private... done
Testing sigbus on hugetlb... done
Testing sigbus on hugetlb-private... done
Testing sigbus-wp on anon... done
Testing sigbus-wp on shmem... done
Testing sigbus-wp on shmem-private... done
Testing sigbus-wp on hugetlb... done
Testing sigbus-wp on hugetlb-private... done
Testing events on anon... done
Testing events on shmem... done
Testing events on shmem-private... done
Testing events on hugetlb... done
Testing events on hugetlb-private... done
Testing events-wp on anon... done
Testing events-wp on shmem... done
Testing events-wp on shmem-private... done
Testing events-wp on hugetlb... done
Testing events-wp on hugetlb-private... done
Userfaults unit tests: pass=34, skip=0, fail=0 (total=34)
===8<===

--
Peter Xu