Re: ib_srpt WARN_ON()

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

 



On Thu, 2018-05-10 at 12:09 -0500, Steve Wise wrote:
> On 5/10/2018 11:54 AM, Bart Van Assche wrote:
> > [ ... ]
> > Regarding your question about the SRP protocol: the only aspects of SRP that are
> > specific to InfiniBand are the target port discovery mechanism (because it uses
> > MADs) and also the format of the login data (which is too large to fit into the
> > RDMA/CM login data buffer). 
> 
> Sounds like these two are show stoppers if they are required for
> attaching to srp target devices.

Hello Steve,

Please have a look at include/scsi/srp.h. As one can see two login request data
structures have been defined in that header file: srp_login_req (for the IB/CM)
and srp_login_req_rdma (for the RDMA/CM).

> > Other aspects of the SRP protocol do not depend on
> > the IB protocol. As you may have noticed RDMA/CM support for the SRP initiator
> > was added in kernel v4.16 and RDMA/CM support for the SRP target driver was
> > added in kernel v4.17-rc1. I have not yet tried to test this code with the iWARP
> > transport. But it is easy to test this code against RoCE as follows:
> > * Clone https://github.com/bvanassche/srp-test
> > * Run the following command: srp-test/run_tests -c
> 
> I haven't looked much into the srp code.  But does the target use the
> RDMA_RW API? If not, then it probably has some IB-specific assumptions. 
> The biggie is that the target MR must have REMOTE_WRITE access.  So you
> cannot use the local dma lkey, for example, like you can with IB.  And
> iWARP procotol limits the SGE depth for the target of a read to be 1.

The ib_srpt driver indeed uses the rdma_rw API (thanks to Christoph's work). As
one can see in srpt_write_pending() a chain of RDMA READ requests is built and
submitted to the HCA through a single ib_post_send() call.

Bart.



��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[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