[rdma-next 00/12] Adapt drivers to handle page combining on umem SGEs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Saleem, Shiraz" <shiraz.saleem@xxxxxxxxx>

This patch set serves as precursor series to updating ib_umem_get
to combine contiguous PAGE_SIZE pages in umem SGEs.

Drivers are updated to unfold larger SGEs into PAGE_SIZE elements
when walking the umem DMA-mapped SGL. The for_each_sg_dma_page
variant is used where applicable to iterate the pages of the
SGL and get the page DMA address.

Additionally, umem->page_shift usage is purged in drivers
as its only relevant for ODP MRs. Use system page size and
shift instead.

This series is dependent on the new scatterlist API for_each_sg_dma_page
https://www.spinics.net/lists/linux-rdma/msg75195.html

RFC-->v0:
* drop RFC tag.

Shiraz, Saleem (12):
  RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/nes: Use for_each_sg_dma_page iterator on umem SGL
  RDMA/rxe: Use for_each_sg_page iterator on umem SGL
  RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs

 drivers/infiniband/hw/bnxt_re/ib_verbs.c       |  23 ++-
 drivers/infiniband/hw/bnxt_re/qplib_res.c      |   9 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c    |  29 ++--
 drivers/infiniband/hw/cxgb4/mem.c              |  33 ++--
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c     |   7 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c     |  25 ++-
 drivers/infiniband/hw/hns/hns_roce_mr.c        |  88 +++++------
 drivers/infiniband/hw/hns/hns_roce_qp.c        |   5 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c      |  35 ++---
 drivers/infiniband/hw/mthca/mthca_provider.c   |  36 ++---
 drivers/infiniband/hw/nes/nes_verbs.c          | 205 +++++++++++--------------
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c    |  56 +++----
 drivers/infiniband/hw/qedr/verbs.c             |  68 ++++----
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c |  21 +--
 drivers/infiniband/sw/rdmavt/mr.c              |  34 ++--
 drivers/infiniband/sw/rxe/rxe_mr.c             |  13 +-
 16 files changed, 306 insertions(+), 381 deletions(-)

-- 
1.8.3.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux