• Zach O'Keefe's avatar
    selftests/vm: add selftest for MADV_COLLAPSE of uffd-minor memory · 0f633baa
    Zach O'Keefe authored
    Add :collapse mod to userfaultfd selftest.  Currently this mod is only
    valid for "shmem" test type, but could be used for other test types.
    
    When provided, memory allocated by ->allocate_area() will be
    hugepage-aligned enforced to be hugepage-sized.  userfaultf_minor_test,
    after the UFFD-registered mapping has been populated by UUFD minor fault
    handler, attempt to MADV_COLLAPSE the UFFD-registered mapping to collapse
    the memory into a pmd-mapped THP.
    
    This test is meant to be a functional test of what occurs during
    UFFD-driven live migration of VMs backed by huge tmpfs where, after a
    hugepage-sized region has been successfully migrated (in native page-sized
    chunks, to avoid latency of fetched a hugepage over the network), we want
    to reclaim previous VM performance by remapping it at the PMD level.
    
    Link: https://lkml.kernel.org/r/20220907144521.3115321-11-zokeefe@google.com
    Link: https://lkml.kernel.org/r/20220922224046.1143204-11-zokeefe@google.comSigned-off-by: default avatarZach O'Keefe <zokeefe@google.com>
    Cc: Axel Rasmussen <axelrasmussen@google.com>
    Cc: Chris Kennelly <ckennelly@google.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: James Houghton <jthoughton@google.com>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Miaohe Lin <linmiaohe@huawei.com>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
    Cc: Peter Xu <peterx@redhat.com>
    Cc: Rongwei Wang <rongwei.wang@linux.alibaba.com>
    Cc: SeongJae Park <sj@kernel.org>
    Cc: Song Liu <songliubraving@fb.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Yang Shi <shy828301@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    0f633baa
Makefile 4.83 KB