On Tue, 2 Feb 2021, Axel Rasmussen wrote: > On Tue, Feb 2, 2021 at 1:03 PM Hugh Dickins <hughd@xxxxxxxxxx> wrote: > > On Tue, 2 Feb 2021, Axel Rasmussen wrote: > > > > > For background, mm/userfaultfd.c provides a general mcopy_atomic > > > implementation. But some types of memory (e.g., hugetlb and shmem) need > > > a slightly different implementation, so they provide their own helpers > > > for this. In other words, userfaultfd is the only caller of this > > > function. > > > > > > This patch achieves two things: > > > > > > 1. Don't spend time compiling code which will end up never being > > > referenced anyway (a small build time optimization). > > > > > > 2. In future patches (e.g. [1]), we plan to extend the signature of > > > these helpers with UFFD-specific state (e.g., enums or structs defined > > > conditionally in userfaultfd_k.h). Once this happens, this patch will be > > > needed to avoid build errors (or, we'd need to define more UFFD-only > > > stuff unconditionally, which seems messier to me). > > > > > > Peter Xu suggested this be sent as a standalone patch, in the mailing > > > list discussion for [1]. > > > > > > [1] https://patchwork.kernel.org/project/linux-mm/list/?series=424091 > > > > > > Signed-off-by: Axel Rasmussen <axelrasmussen@xxxxxxxxxx> > > > --- > > > include/linux/hugetlb.h | 4 ++++ > > > mm/hugetlb.c | 2 ++ > > > 2 files changed, 6 insertions(+) > > > > Hi Axel, please also do the same to mm/shmem.c (perhaps you missed > > it because I did that long ago to our internal copy of mm/shmem.c). > > I had been largely ignoring shmem up to this point because my minor > fault handling series doesn't (yet) deal with it. But, I'll need to do > this later when I support shmem anyway, so happy to add it here. Oh, if this patch is going into a hugetlbfs series, skip mm/shmem.c for now (or keep it in, whichever's easiest for you): I caught sight of the "(e.g., hugetlb and shmem)" in the commit message above, and thought you had inadvertently missed out the shmem part - but now see that the patch title does say "userfaultfd: hugetlbfs:". Hugh