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 6/11/2018 9:36 PM, Jason Gunthorpe wrote:
> 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".

I had it on top of other changes that are heading upstream.   I guess
that caused the problem.

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

Will do.

Steve.

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