Re: [PATCH v2 1/4] mm: Introduce vm_uffd_ops API

Mike Rapoport
2025-07-03T17:48:39Z

On Wed, Jul 02, 2025 at 03:46:57PM -0400, Peter Xu wrote:
> On Wed, Jul 02, 2025 at 08:39:32PM +0300, Mike Rapoport wrote:
>
> [...]
>
> > > The main target of this change is the implementation of UFFD for
> > > KVM/guest_memfd (examples: [1], [2]) to avoid bringing KVM-specific code
> > > into the mm codebase. We usually mean KVM by the "drivers" in this context,
> > > and it is already somewhat "knowledgeable" of the mm. I don't think there
> > > are existing use cases for other drivers to implement this at the moment.
> > >
> > > Although I can't see new exports in this series, there is now a way to limit
> > > exports to particular modules [3]. Would it help if we only do it for KVM
> > > initially (if/when actually needed)?
> >
> > There were talks about pulling out guest_memfd core into mm, but I don't
> > remember patches about it. If parts of guest_memfd were already in mm/ that
> > would make easier to export uffd ops to it.
>
> Do we have a link to such discussion? I'm also curious whether that idea
> was acknowledged by KVM maintainers.

AFAIR it was discussed at one of David's guest_memfd calls

> Having an abstraction layer for userfaultfd memtypes within mm always makes
> some sense on its own to me, so as to remove separate random checks over
> either shmem or hugetlb. E.g. after the series applied, we can drop the
> shmem header in userfaultfd code, which should also be a step forward.
>
> Thanks,
>
> >
> > > [1]
> > > https://lore.kernel.org/all/114133f5-0282-463d-9d65-3143aa658806@amazon.com/
> > > [2]
> > > https://lore.kernel.org/all/7666ee96-6f09-4dc1-8cb2-002a2d2a29cf@amazon.com/
> > > [3] https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?h=kbuild&id=707f853d7fa3ce323a6875487890c213e34d81a0
>
> --
> Peter Xu
>

--
Sincerely yours,
Mike.