Message ID | 20250228-mm-selftests-v3-0-958e3b6f0203@google.com (mailing list archive) |
---|---|
Headers | show |
Series | selftests/mm: Some cleanups from trying to run them | expand |
Hi, Thanks for adding to the series Dev Jain. The series looks good. Thanks for doing such a series. It helps everyone. For the series: Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com> On 2/28/25 9:54 PM, Brendan Jackman wrote: > I never had much luck running mm selftests so I spent a few hours > digging into why. > > Looks like most of the reason is missing SKIP checks, so this series is > just adding a bunch of those that I found. I did not do anything like > all of them, just the ones I spotted in gup_longterm, gup_test, mmap, > userfaultfd and memfd_secret. > > It's a bit unfortunate to have to skip those tests when ftruncate() > fails, but I don't have time to dig deep enough into it to actually make > them pass. I have observed the issue on 9pfs and heard rumours that NFS > has a similar problem. > > I'm now able to run these test groups successfully: > > - mmap > - gup_test > - compaction > - migration > - page_frag > - userfaultfd > > Signed-off-by: Brendan Jackman <jackmanb@google.com> > --- > Changes in v3: > - Added fix for userfaultfd tests. > - Dropped attempts to use sudo. > - Fixed garbage printf in uffd-stress. > (Added EXTRA_CFLAGS=-Werror FORCE_TARGETS=1 to my scripts to prevent > such errors happening again). > - Fixed missing newlines in ksft_test_result_skip() calls. > - Link to v2: https://lore.kernel.org/r/20250221-mm-selftests-v2-0-28c4d66383c5@google.com > > Changes in v2 (Thanks to Dev for the reviews): > - Improve and cleanup some error messages > - Add some extra SKIPs > - Fix misnaming of nr_cpus variable in uffd tests > - Link to v1: https://lore.kernel.org/r/20250220-mm-selftests-v1-0-9bbf57d64463@google.com > > --- > Brendan Jackman (10): > selftests/mm: Report errno when things fail in gup_longterm > selftests/mm: Skip uffd-stress if userfaultfd not available > selftests/mm: Skip uffd-wp-mremap if userfaultfd not available > selftests/mm/uffd: Rename nr_cpus -> nr_threads > selftests/mm: Print some details when uffd-stress gets bad params > selftests/mm: Don't fail uffd-stress if too many CPUs > selftests/mm: Skip map_populate on weird filesystems > selftests/mm: Skip gup_longerm tests on weird filesystems > selftests/mm: Drop unnecessary sudo usage > selftests/mm: Ensure uffd-wp-mremap gets pages of each size > > tools/testing/selftests/mm/gup_longterm.c | 45 ++++++++++++++++++---------- > tools/testing/selftests/mm/map_populate.c | 7 +++++ > tools/testing/selftests/mm/run_vmtests.sh | 25 ++++++++++++++-- > tools/testing/selftests/mm/uffd-common.c | 8 ++--- > tools/testing/selftests/mm/uffd-common.h | 2 +- > tools/testing/selftests/mm/uffd-stress.c | 42 ++++++++++++++++---------- > tools/testing/selftests/mm/uffd-unit-tests.c | 2 +- > tools/testing/selftests/mm/uffd-wp-mremap.c | 5 +++- > 8 files changed, 95 insertions(+), 41 deletions(-) > --- > base-commit: 76544811c850a1f4c055aa182b513b7a843868ea > change-id: 20250220-mm-selftests-2d7d0542face > > Best regards,
I never had much luck running mm selftests so I spent a few hours digging into why. Looks like most of the reason is missing SKIP checks, so this series is just adding a bunch of those that I found. I did not do anything like all of them, just the ones I spotted in gup_longterm, gup_test, mmap, userfaultfd and memfd_secret. It's a bit unfortunate to have to skip those tests when ftruncate() fails, but I don't have time to dig deep enough into it to actually make them pass. I have observed the issue on 9pfs and heard rumours that NFS has a similar problem. I'm now able to run these test groups successfully: - mmap - gup_test - compaction - migration - page_frag - userfaultfd Signed-off-by: Brendan Jackman <jackmanb@google.com> --- Changes in v3: - Added fix for userfaultfd tests. - Dropped attempts to use sudo. - Fixed garbage printf in uffd-stress. (Added EXTRA_CFLAGS=-Werror FORCE_TARGETS=1 to my scripts to prevent such errors happening again). - Fixed missing newlines in ksft_test_result_skip() calls. - Link to v2: https://lore.kernel.org/r/20250221-mm-selftests-v2-0-28c4d66383c5@google.com Changes in v2 (Thanks to Dev for the reviews): - Improve and cleanup some error messages - Add some extra SKIPs - Fix misnaming of nr_cpus variable in uffd tests - Link to v1: https://lore.kernel.org/r/20250220-mm-selftests-v1-0-9bbf57d64463@google.com --- Brendan Jackman (10): selftests/mm: Report errno when things fail in gup_longterm selftests/mm: Skip uffd-stress if userfaultfd not available selftests/mm: Skip uffd-wp-mremap if userfaultfd not available selftests/mm/uffd: Rename nr_cpus -> nr_threads selftests/mm: Print some details when uffd-stress gets bad params selftests/mm: Don't fail uffd-stress if too many CPUs selftests/mm: Skip map_populate on weird filesystems selftests/mm: Skip gup_longerm tests on weird filesystems selftests/mm: Drop unnecessary sudo usage selftests/mm: Ensure uffd-wp-mremap gets pages of each size tools/testing/selftests/mm/gup_longterm.c | 45 ++++++++++++++++++---------- tools/testing/selftests/mm/map_populate.c | 7 +++++ tools/testing/selftests/mm/run_vmtests.sh | 25 ++++++++++++++-- tools/testing/selftests/mm/uffd-common.c | 8 ++--- tools/testing/selftests/mm/uffd-common.h | 2 +- tools/testing/selftests/mm/uffd-stress.c | 42 ++++++++++++++++---------- tools/testing/selftests/mm/uffd-unit-tests.c | 2 +- tools/testing/selftests/mm/uffd-wp-mremap.c | 5 +++- 8 files changed, 95 insertions(+), 41 deletions(-) --- base-commit: 76544811c850a1f4c055aa182b513b7a843868ea change-id: 20250220-mm-selftests-2d7d0542face Best regards,