[PATCH RFC] Add max_send_sge and max_recv_sge attributes

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

 



Hey,

This patch replaces the ib_device_attr.max_sge with max_send_sge and
max_recv_sge. It allows ulps to take advantage of devices that have very
different send and recv sge depths.  For example cxgb4 has a max_recv_sge
of 4, yet a max_send_sge of 16.  Splitting out these attributes allows
more efficient use of the SQ for cxgb4 with ulps that use the RDMA_RW
API. Consider a large RDMA WRITE that has 16 scattergather entries.
With max_sge of 4, the ulp would send 4 WRITE WRs, but with max_sge of
16, it can be done with 1 WRITE WR.

I've Cced all the driver and ulp maintainers since I changed their
drivers.

This is not ready to merge. It needs more review eyes, and more testing.

Please comment!

Thanks,

Steve.

Steve Wise (1):
  IB/core: add max_send_sge and max_recv_sge attributes

 drivers/infiniband/core/uverbs_cmd.c            |  2 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c        |  3 ++-
 drivers/infiniband/hw/cxgb3/iwch_provider.c     |  3 ++-
 drivers/infiniband/hw/cxgb4/provider.c          |  3 ++-
 drivers/infiniband/hw/hfi1/verbs.c              |  3 ++-
 drivers/infiniband/hw/hns/hns_roce_main.c       |  3 ++-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c       |  3 ++-
 drivers/infiniband/hw/mlx4/main.c               |  4 ++--
 drivers/infiniband/hw/mlx5/main.c               |  3 ++-
 drivers/infiniband/hw/mthca/mthca_provider.c    |  5 +++--
 drivers/infiniband/hw/nes/nes_verbs.c           |  3 ++-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c     |  3 ++-
 drivers/infiniband/hw/qib/qib_verbs.c           |  3 ++-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c |  3 ++-
 drivers/infiniband/sw/rdmavt/qp.c               |  5 +++--
 drivers/infiniband/sw/rxe/rxe.c                 |  3 ++-
 drivers/infiniband/sw/rxe/rxe_qp.c              |  8 ++++----
 drivers/infiniband/ulp/ipoib/ipoib_cm.c         |  4 ++--
 drivers/infiniband/ulp/ipoib/ipoib_verbs.c      |  2 +-
 drivers/infiniband/ulp/isert/ib_isert.c         |  5 +++--
 drivers/infiniband/ulp/srpt/ib_srpt.c           |  6 ++++--
 drivers/nvme/host/rdma.c                        |  2 +-
 drivers/nvme/target/rdma.c                      |  4 ++--
 fs/cifs/smbdirect.c                             | 13 ++++++++++---
 include/rdma/ib_verbs.h                         |  3 ++-
 net/rds/ib.c                                    |  2 +-
 net/sunrpc/xprtrdma/svc_rdma_transport.c        |  3 ++-
 net/sunrpc/xprtrdma/verbs.c                     |  2 +-
 28 files changed, 66 insertions(+), 40 deletions(-)

-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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