[ofa-general] SDP and iWARP

Steve Wise swise at opengridcomputing.com
Thu Jan 24 13:00:15 PST 2008


Craig Prescott wrote:
> 
> Hi Steve;
> 
> The SDP socket gets an associated mr when sdp_init_qp() calls 
> ib_get_dma_mr().  It looks to me like this drills down into
> the provider layer, which will ultimately end up calling
> build_phys_page_list() from iwch_register_phys_mem().
> 
> Unfortunately, when I try to look at the ib_mr_attrs via
> ib_query_mr(), the call fails.
> 
> When sdp_post_recv() calls ib_post_recv(), it looks to me
> like a DMA mapping has been set up between the SDP private
> receive buffers and card.  The receive buffers are kmalloc'd
> in sdp_init_qp().
> 
> I hope I have this right.  But it sounds like it is possible
> I am hitting both issues you describe.
> 
> I guess one way to check is to drop my test nodes down to 4GB
> or less, right?  They currently have 16GB.
> 

Drop them down to 1 or 2GB and try it.  4GB still requires the iommu to 
remap things above 4GB.

Sorry about that.  I forgot about the 4GB limitation and get_dma_mr(). 
I guess the chelsio driver should really just fail the get_dma_mr() call 
since it doesn't properly support it.

There is one other experiment you could try.  You could try using lkey 0 
for any sgl used in a send or receive work request.  This maps to the 
zero stag in iwarp lingo.  But I haven't tested that yet :)

Steve.




More information about the general mailing list