Re: [PATCH] userfaultfd: hugetlbfs: only compile UFFD helpers if config enabled

From: Mike Kravetz
Date: Tue Feb 02 2021 - 16:42:58 EST


On 2/2/21 12:31 PM, 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(+)

When you move this back into the "userfaultfd: add minor fault handling"
series, feel free to add:

Reviewed-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>

Thanks,
--
Mike Kravetz