lkml.org 
[lkml]   [2021]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    Subject[PATCH 0/5] userfaultfd: support minor fault handling for shmem
    From
    Base
    ====

    This series is based on top of my series which adds minor fault handling for
    hugetlbfs [1]. (And, therefore, it is based on linux-next/akpm and Peter Xu's
    series for disabling huge pmd sharing as well.)

    [1] https://lore.kernel.org/patchwork/cover/1384095/

    Overview
    ========

    See my original series linked above for a detailed overview of minor fault
    handling in general. The feature in this series works exactly like the
    hugetblfs version (from userspace's perspective).

    I'm sending this as a separate series because:

    - The original minor fault handling series has been through several rounds of
    review and seems close to being merged, so it seems reasonable to start
    looking at this next step.

    - shmem is different enough that this series may require some additional work
    before it's ready, and I don't want to delay the original series
    unnecessarily by bundling them together.

    Use Case
    ========

    In some cases it is useful to have VM memory backed by tmpfs instead of
    hugetlbfs. So, this feature will be used to support the same VM live migration
    use case described in my original series.

    Additionally, Android folks (Lokesh Gidra <lokeshgidra@google.com>) hope to
    optimize the Android JVM garbage collector using this feature (a paper
    describing a somewhat similar approach: https://arxiv.org/pdf/1902.04738.pdf).

    Axel Rasmussen (5):
    userfaultfd: support minor fault handling for shmem
    userfaultfd/selftests: use memfd_create for shmem test type
    userfaultfd/selftests: create alias mappings in the shmem test
    userfaultfd/selftests: reinitialize test context in each test
    userfaultfd/selftests: exercise minor fault handling shmem support

    fs/userfaultfd.c | 6 +-
    include/linux/shmem_fs.h | 26 +-
    include/uapi/linux/userfaultfd.h | 4 +-
    mm/memory.c | 8 +-
    mm/shmem.c | 88 +++----
    mm/userfaultfd.c | 27 +-
    tools/testing/selftests/vm/userfaultfd.c | 322 +++++++++++++++--------
    7 files changed, 293 insertions(+), 188 deletions(-)

    --
    2.30.0.617.g56c4b15f3c-goog

    \
     
     \ /
      Last update: 2021-02-25 03:17    [W:2.768 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site