On Tue, Feb 19, 2019 at 01:54:38PM -0700, Jason Gunthorpe wrote: > On Tue, Feb 19, 2019 at 08:57:45AM -0600, Shiraz Saleem wrote: > > The drivers i40iw and bnxt_re no longer dependent on the > > hugetlb flag. So remove this flag from ib_umem structure. > > > > Reviewed-by: Michael J. Ruhl <michael.j.ruhl@xxxxxxxxx> > > Signed-off-by: Shiraz Saleem <shiraz.saleem@xxxxxxxxx> > > drivers/infiniband/core/umem.c | 15 --------------- > > drivers/infiniband/core/umem_odp.c | 3 --- > > include/rdma/ib_umem.h | 1 - > > 3 files changed, 19 deletions(-) > > > > diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c > > index 8c3ec1b..3e2a262 100644 > > +++ b/drivers/infiniband/core/umem.c > > @@ -329,7 +329,6 @@ struct ib_umem *ib_umem_get(struct ib_udata *udata, unsigned long addr, > > struct mm_struct *mm; > > unsigned long npages; > > int ret; > > - int i; > > unsigned long dma_attrs = 0; > > struct scatterlist *sg; > > unsigned int gup_flags = FOLL_WRITE; > > @@ -378,9 +377,6 @@ struct ib_umem *ib_umem_get(struct ib_udata *udata, unsigned long addr, > > return umem; > > } > > > > - /* We assume the memory is from hugetlb until proved otherwise */ > > - umem->hugetlb = 1; > > - > > page_list = (struct page **) __get_free_page(GFP_KERNEL); > > if (!page_list) { > > ret = -ENOMEM; > > @@ -392,8 +388,6 @@ struct ib_umem *ib_umem_get(struct ib_udata *udata, unsigned long addr, > > * just assume the memory is not hugetlb memory > > */ > > vma_list = (struct vm_area_struct **) __get_free_page(GFP_KERNEL); > > - if (!vma_list) > > - umem->hugetlb = 0; > > > > npages = ib_umem_num_pages(umem); > > if (npages == 0 || npages > UINT_MAX) { > > @@ -437,15 +431,6 @@ struct ib_umem *ib_umem_get(struct ib_udata *udata, unsigned long addr, > > npages -= ret; > > > > sg = ib_umem_add_sg_table(sg, page_list, ret, &umem->sg_nents); > > - > > - /* Continue to hold the mmap_sem as vma_list access > > - * needs to be protected. > > - */ > > - for (i = 0; i < ret && umem->hugetlb; i++) { > > - if (vma_list && !is_vm_hugetlb_page(vma_list[i])) > > - umem->hugetlb = 0; > > - } > > This is the only place that reads the vma_list, so please delete it as > well. > Sure.