mm/hmm: remove HMM_FAULT_SNAPSHOT
authorJason Gunthorpe <jgg@mellanox.com>
Fri, 27 Mar 2020 20:00:16 +0000 (17:00 -0300)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 27 Mar 2020 23:19:24 +0000 (20:19 -0300)
commit6bfef2f9194519ca23dee405a9f4db461a7a7826
treee85b45f4b9e0709f8987cadbd23c5b937a853cc5
parentf970b977e068aa54e6eaf916a964a0abaf028afe
mm/hmm: remove HMM_FAULT_SNAPSHOT

Now that flags are handled on a fine-grained per-page basis this global
flag is redundant and has a confusing overlap with the pfn_flags_mask and
default_flags.

Normalize the HMM_FAULT_SNAPSHOT behavior into one place. Callers needing
the SNAPSHOT behavior should set a pfn_flags_mask and default_flags that
always results in a cleared HMM_PFN_VALID. Then no pages will be faulted,
and HMM_FAULT_SNAPSHOT is not a special flow that overrides the masking
mechanism.

As this is the last flag, also remove the flags argument. If future flags
are needed they can be part of the struct hmm_range function arguments.

Link: https://lore.kernel.org/r/20200327200021.29372-5-jgg@ziepe.ca
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Documentation/vm/hmm.rst
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/nouveau/nouveau_svm.c
include/linux/hmm.h
mm/hmm.c