Re: [PATCH v1] IB/core: add max_send_sge and max_recv_sge attributes

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

 



On Thu, Jun 07, 2018 at 01:02:35PM -0700, Steve Wise wrote:
> 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
> much 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.
> 
> Cc: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx>
> Cc: Devesh Sharma <devesh.sharma@xxxxxxxxxxxx>
> Cc: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
> Cc: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxxxx>
> Cc: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx>
> Cc: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx>
> Cc: Lijun Ou <oulijun@xxxxxxxxxx>
> Cc: Wei Hu(Xavier) <xavier.huwei@xxxxxxxxxx>
> Cc: Faisal Latif <faisal.latif@xxxxxxxxx>
> Cc: Shiraz Saleem <shiraz.saleem@xxxxxxxxx>
> Cc: Yishai Hadas <yishaih@xxxxxxxxxxxx>
> Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> Cc: Adit Ranadive <aditr@xxxxxxxxxx>
> Cc: VMware PV-Drivers <pv-drivers@xxxxxxxxxx>
> Cc: Moni Shoua <monis@xxxxxxxxxxxx>
> Cc: Sagi Grimberg <sagi@xxxxxxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxx>
> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx>
> Cc: Steve French <sfrench@xxxxxxxxx>
> Cc: Chuck Lever <chuck.lever@xxxxxxxxxx>
> 
> Acked-by: Sagi Grimberg <sagi@xxxxxxxxxxx>
> Acked-by: Christoph Hellwig <hch@xxxxxx>
> Acked-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx>
> Acked-by: Shiraz Saleem <shiraz.saleem@xxxxxxxxx>
> Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
> 
> ---
>  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/qedr/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 +-
>  29 files changed, 68 insertions(+), 41 deletions(-)

You need to send this based on some standard tree:

Applying: IB/core: add max_send_sge and max_recv_sge attributes
error: sha1 information is lacking or useless (drivers/nvme/host/rdma.c).
error: could not build fake ancestor
Patch failed at 0001 IB/core: add max_send_sge and max_recv_sge attributes
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

.. and given this is touching nvme, we probably do need to wait till
rc1 after all so you can respin it against rc1 with all the nmve
changes from the last cycle.

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