• Peter Xu's avatar
    selftests/mm: split uffd tests into uffd-stress and uffd-unit-tests · 686a8bb7
    Peter Xu authored
    In many ways it's weird and unwanted to keep all the tests in the same
    userfaultfd.c at least when still in the current way.
    
    For example, it doesn't make much sense to run the stress test for each
    method we can create an userfaultfd handle (either via syscall or /dev/
    node).  It's a waste of time running this twice for the whole stress as
    the stress paths are the same, only the open path is different.
    
    It's also just weird to need to manually specify different types of memory
    to run all unit tests for the userfaultfd interface.  We should be able to
    just run a single program and that should go through all functional uffd
    tests without running the stress test at all.  The stress test was more
    for torturing and finding race conditions.  We don't want to wait for
    stress to finish just to regress test a functional test.
    
    When we start to pile up more things on top of the same file and same
    functions, things start to go a bit chaos and the code is just harder to
    maintain too with tons of global variables.
    
    This patch creates a new test uffd-unit-tests to keep userfaultfd unit
    tests in the future, currently empty.
    
    Meanwhile rename the old userfaultfd.c test to uffd-stress.c.
    
    Link: https://lkml.kernel.org/r/20230412164244.328270-1-peterx@redhat.comSigned-off-by: default avatarPeter Xu <peterx@redhat.com>
    Reviewed-by: default avatarMike Rapoport (IBM) <rppt@kernel.org>
    Reviewed-by: default avatarAxel Rasmussen <axelrasmussen@google.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Dmitry Safonov <0x7f454c46@gmail.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Zach O'Keefe <zokeefe@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    686a8bb7
uffd-stress.c 31.7 KB