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. Jason