mm/hmm: remove the unused HMM_FAULT_ALLOW_RETRY flag
authorChristoph Hellwig <hch@lst.de>
Mon, 16 Mar 2020 13:53:07 +0000 (14:53 +0100)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 26 Mar 2020 17:33:37 +0000 (14:33 -0300)
The HMM_FAULT_ALLOW_RETRY isn't used anywhere in the tree.  Remove it and
the weird -EAGAIN handling where handle_mm_fault() drops the mmap_sem.

Link: https://lore.kernel.org/r/20200316135310.899364-3-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
include/linux/hmm.h
mm/hmm.c

index c102e359b59d2a59a55752ccfef30c79671c8249..4bf8d6997b12d3fa9a2fa858c4a4c57116142acb 100644 (file)
@@ -217,11 +217,6 @@ static inline uint64_t hmm_device_entry_from_pfn(const struct hmm_range *range,
                range->flags[HMM_PFN_VALID];
 }
 
-/*
- * Retry fault if non-blocking, drop mmap_sem and return -EAGAIN in that case.
- */
-#define HMM_FAULT_ALLOW_RETRY          (1 << 0)
-
 /* Don't fault in missing PTEs, just snapshot the current state. */
 #define HMM_FAULT_SNAPSHOT             (1 << 1)
 
index 37a6fca7da43f0062b03eb55cabd7865925c07b9..df98297afe80714ae397e01db57980bc815dceb9 100644 (file)
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -45,16 +45,10 @@ static int hmm_vma_do_fault(struct mm_walk *walk, unsigned long addr,
        if (!vma)
                goto err;
 
-       if (hmm_vma_walk->flags & HMM_FAULT_ALLOW_RETRY)
-               flags |= FAULT_FLAG_ALLOW_RETRY;
        if (write_fault)
                flags |= FAULT_FLAG_WRITE;
 
        ret = handle_mm_fault(vma, addr, flags);
-       if (ret & VM_FAULT_RETRY) {
-               /* Note, handle_mm_fault did up_read(&mm->mmap_sem)) */
-               return -EAGAIN;
-       }
        if (ret & VM_FAULT_ERROR)
                goto err;
 
@@ -662,7 +656,6 @@ static const struct mm_walk_ops hmm_walk_ops = {
  * -ENOMEM:    Out of memory.
  * -EPERM:     Invalid permission (e.g., asking for write and range is read
  *             only).
- * -EAGAIN:    A page fault needs to be retried and mmap_sem was dropped.
  * -EBUSY:     The range has been invalidated and the caller needs to wait for
  *             the invalidation to finish.
  * -EFAULT:    Invalid (i.e., either no valid vma or it is illegal to access