On Wed, Nov 08, 2017 at 12:06:14PM +0200, Sagi Grimberg wrote: > The entire completions suppress mechanism is currently > broken because the HCA might retry a send operation > (due to dropped ack) after the nvme transaction has completed. > > In order to handle this, we signal all send completions (besides > async event which is not racing anything). Oh well, so much for all these unsignalled completion optimizations.. So in which cases do unsignalled completions work at all? Seems like we need to fix up a lot of other ULPs as well. Looks fine: Reviewed-by: Christoph Hellwig <hch@xxxxxx> > - */ > - if (nvme_rdma_queue_sig_limit(queue) || flush) > - wr.send_flags |= IB_SEND_SIGNALED; > + wr.send_flags = IB_SEND_SIGNALED; But.. Is there any benefit in just setting IB_SIGNAL_ALL_WR on the QP? -- 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