OSDN Git Service

mm/hmm: remove hmm_range vma
authorRalph Campbell <rcampbell@nvidia.com>
Fri, 26 Jul 2019 00:56:50 +0000 (17:56 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 26 Jul 2019 15:35:29 +0000 (12:35 -0300)
Since hmm_range_fault() doesn't use the struct hmm_range vma field, remove
it.

Link: https://lore.kernel.org/r/20190726005650.2566-8-rcampbell@nvidia.com
Suggested-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/gpu/drm/nouveau/nouveau_svm.c
include/linux/hmm.h
mm/hmm.c

index 49b520c..a74530b 100644 (file)
@@ -496,12 +496,12 @@ nouveau_range_fault(struct hmm_mirror *mirror, struct hmm_range *range)
                                 range->start, range->end,
                                 PAGE_SHIFT);
        if (ret) {
-               up_read(&range->vma->vm_mm->mmap_sem);
+               up_read(&range->hmm->mm->mmap_sem);
                return (int)ret;
        }
 
        if (!hmm_range_wait_until_valid(range, HMM_RANGE_DEFAULT_TIMEOUT)) {
-               up_read(&range->vma->vm_mm->mmap_sem);
+               up_read(&range->hmm->mm->mmap_sem);
                return -EBUSY;
        }
 
@@ -509,7 +509,7 @@ nouveau_range_fault(struct hmm_mirror *mirror, struct hmm_range *range)
        if (ret <= 0) {
                if (ret == 0)
                        ret = -EBUSY;
-               up_read(&range->vma->vm_mm->mmap_sem);
+               up_read(&range->hmm->mm->mmap_sem);
                hmm_range_unregister(range);
                return ret;
        }
@@ -682,7 +682,6 @@ nouveau_svm_fault(struct nvif_notify *notify)
                         args.i.p.addr + args.i.p.size, fn - fi);
 
                /* Have HMM fault pages within the fault window to the GPU. */
-               range.vma = vma;
                range.start = args.i.p.addr;
                range.end = args.i.p.addr + args.i.p.size;
                range.pfns = args.phys;
index 90dc594..8226511 100644 (file)
@@ -164,7 +164,6 @@ enum hmm_pfn_value_e {
  */
 struct hmm_range {
        struct hmm              *hmm;
-       struct vm_area_struct   *vma;
        struct list_head        list;
        unsigned long           start;
        unsigned long           end;
index 6111c0a..9a90890 100644 (file)
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -1002,7 +1002,6 @@ long hmm_range_fault(struct hmm_range *range, unsigned int flags)
                        return -EPERM;
                }
 
-               range->vma = vma;
                hmm_vma_walk.pgmap = NULL;
                hmm_vma_walk.last = start;
                hmm_vma_walk.flags = flags;