lkml.org 
[lkml]   [2021]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v6 06/10] userfaultfd/shmem: modify shmem_mfill_atomic_pte to use install_pte()
    Axel,

    On Mon, May 03, 2021 at 11:07:33AM -0700, Axel Rasmussen wrote:
    > In a previous commit, we added the mfill_atomic_install_pte() helper.
    > This helper does the job of setting up PTEs for an existing page, to map
    > it into a given VMA. It deals with both the anon and shmem cases, as
    > well as the shared and private cases.
    >
    > In other words, shmem_mfill_atomic_pte() duplicates a case it already
    > handles. So, expose it, and let shmem_mfill_atomic_pte() use it
    > directly, to reduce code duplication.
    >
    > This requires that we refactor shmem_mfill_atomic_pte() a bit:
    >
    > Instead of doing accounting (shmem_recalc_inode() et al) part-way
    > through the PTE setup, do it afterward. This frees up
    > mfill_atomic_install_pte() from having to care about this accounting,
    > and means we don't need to e.g. shmem_uncharge() in the error path.
    >
    > A side effect is this switches shmem_mfill_atomic_pte() to use
    > lru_cache_add_inactive_or_unevictable() instead of just lru_cache_add().
    > This wrapper does some extra accounting in an exceptional case, if
    > appropriate, so it's actually the more correct thing to use.
    >
    > Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>

    (The moving of "ret = -ENOMEM" seems unnecessary, but not a big deal I think)

    Reviewed-by: Peter Xu <peterx@redhat.com>

    Thanks,

    --
    Peter Xu

    \
     
     \ /
      Last update: 2021-05-05 03:33    [W:2.759 / U:0.448 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site