Re: [PATCH 3/9] IB: add a helper to safely drain a QP

From: Sagi Grimberg
Date: Tue Nov 17 2015 - 03:54:13 EST



That won't work for iWARP. Is this code new? I didn't see any errors that would result from this code when I tested iSER over
cxgb4 with the old iwarp support patches.

It's there since ~3.17 I think...


Perhaps we need another way to do this? Like a completion object in the QP that gets triggered when the SQ and RQ become empty
after a transition to ERROR (and CLOSING for iwarp). Then a core service that just waits until the QP is empty. Implementation of
this design would hit the providers though since only they know when the flush is completed.

ULPs need a drain functionality, so ib_drain_qp() is the way to go...

How about we add a drain_qp() callout and have:

if (qp->device->drain_qp) {
qp->device->drain_qp();
return;
}

IB drain qp logic...

This way iWARP devices can have their own magic on how to implement this
functionality.

Thoughts?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/