On Sat, Nov 21, 2009 at 9:01 PM, Jason Gunthorpe <jguntho...@obsidianresearch.com> wrote: > > On Sat, Nov 21, 2009 at 12:17:32PM +0100, Bart Van Assche wrote: > > > ib_post_send() has to request a completion notification for each WR, > > which has a negative performance impact. My opinion is that the > > current behavior makes ib_post_send() easier to implement, while the > > behavior specified in the IBAS is more interesting for applications > > that use the verbs API. > > It seems to me an error return from ib_post_send either means the > caller is asking for something impossible, or the QP is wrecked, and > is thus pretty much non-recoverable. For instance all the errors for > mlx4 fit this pattern - and I think that is a reasonable requirement > for any implementation of ib_post_send. > > So in that light the absence/presence of a completion does not seem > important - if you get an error back you should always tear down the > QP. > > Are SRP/etc calling ib_post_send in a way that ever returns errors?
ib_post_send() failures in the SRP target implementation have already been observed. The error code returned by ib_post_send() was ENOMEM (queue full). It would be more useful IMHO if ib_post_send() would not post any WR instead of posting part of the WR's passed to ib_post_send() when the 'queue full' condition is hit. Note: SRPT uses a single SRQ per HCA, even when multiple SRP connections are active for the same HCA. Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html