tree d6f73fd2b9bdb925356038c9d5c140f7957e6391
parent 0b16560a7720eda1a8eacee2f7da93004b3f9f8c
author Axel Rasmussen <axelrasmussen@google.com> 1616047311 +1100
committer Tim Zimmermann <tim@linux4.de> 1721966659 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuwYxAyE4TRnuhLgPbcIaY/gZxe8FAmajIEMACgkQbcIaY/gZ
 xe8IhxAArePiy6wOqGxY8iWpn0x1ZjF12F5EKa/Og9vivt7701v+CcTD82du7QsD
 wzQgizNu6DKuzv0/2dapHCjeuUt5COUGRV5qBDLwKqaGh7cseu4FMl6dDEPVkrbt
 Rd8H9F2OO7slx9EGQV1jDlSnlyjALRn6MUsLEAO3zwx0LOYq/nSn4uJLYSfiC7AC
 nwWqmgQUthRuNwuj/NsD+mzHAvejc6lhDU+CZR7Fy7yv7il/e+l0cysAivIjYxWB
 t0qNr8qDPTmhjuaCc5mtpCchQuIAXyYD4GqWOA7GSG0yTwlipterE3XWB/0jtx6G
 aYZp1rOQGGa31jXZAXROCkksiqGPs2kKcWpu7DAB+LixQ0dQcWzJI8r5TB2Ua1Ym
 n+2ihqfGvdeGnOw1xUYG7Q1ekLoRrpLj3kEizK5X0WypahWZ5h0mR1JMxCQnPcsG
 pLz6WexaR1y3V7RPV1w0YNuAhq14uk65P9b7CGHd04RTdWh+7mu6Wlw/G1w3Rn8/
 Xh1JagGTe/6LS0G2clo2wf9c7YCwHI0FZypjQul3klyBOlAEuiwZClP3yYae3bup
 WRL86omFyjZkulgg8WTkUQwAJ6VJki/OcRz+LF3qjG2OSHXDTYAeyg4f3NnxjmkA
 Agl+0Y3mXGniY+b1S16kyBqrovjvcquIrBwyPjPxMNDJW1jdfhc=
 =RTc7
 -----END PGP SIGNATURE-----

BACKPORT: FROMGIT: userfaultfd: support minor fault handling for shmem

Patch series "userfaultfd: support minor fault handling for shmem", v2.

Overview
========

See my original series [1] 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 a full set of R-Bs, and seems
  close to being merged. So, it seems reasonable to start looking at this next
  step, which extends the basic functionality.

- 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 Runtime garbage collector using this feature:

"The plan is to use userfaultfd for concurrently compacting the heap.
With this feature, the heap can be shared-mapped at another location where
the GC-thread(s) could continue the compaction operation without the need
to invoke userfault ioctl(UFFDIO_COPY) each time.  OTOH, if and when Java
threads get faults on the heap, UFFDIO_CONTINUE can be used to resume
execution.  Furthermore, this feature enables updating references in the
'non-moving' portion of the heap efficiently.  Without this feature,
uneccessary page copying (ioctl(UFFDIO_COPY)) would be required."

[1] https://lore.kernel.org/linux-fsdevel/20210301222728.176417-1-axelrasmussen@google.com/T/#t

This patch (of 5):

Modify the userfaultfd register API to allow registering shmem VMAs in
minor mode.  Modify the shmem mcopy implementation to support
UFFDIO_CONTINUE in order to resolve such faults.

Combine the shmem mcopy handler functions into a single
shmem_mcopy_atomic_pte, which takes a mode parameter.  This matches how
the hugetlbfs implementation is structured, and lets us remove a good
chunk of boilerplate.

Link: https://lkml.kernel.org/r/20210302000133.272579-1-axelrasmussen@google.com
Link: https://lkml.kernel.org/r/20210302000133.272579-2-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Wang Qing <wangqing@vivo.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: Cannon Matthews <cannonmatthews@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

(cherry picked from commit 4cc6e15679966aa49afc5b114c3c83ba0ac39b05
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm)
Link: https://lore.kernel.org/patchwork/patch/1388146/

Conflicts: include/linux/shmem_fs.h
	mm/shmem.c
	mm/userfaultfd.c
(1. write-protect related conflicts, rebased manually
2. Enclose shmem_mcopy_atomic_pte() with CONFIG_USERFAULTFD to avoid
compile errors when USERFAULTFD is not enabled.)
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 160737021
Bug: 169683130
Change-Id: Idcd822b2a124a089121b9ad8c65061f6979126ec
