On 11/03/2015 11:56 AM, Sagi Grimberg wrote:
On 03/11/2015 21:04, Bart Van Assche wrote:
On 11/03/2015 09:36 AM, Sagi Grimberg wrote:
On 28/10/2015 00:02, Bart Van Assche wrote:
Wait until memory registration has finished in the srp_queuecommand()
error path before invalidating memory regions to avoid a send queue
overflow.

This looks backwards to me... Why do we even post anything on our
queue-pair to begin with if we got an unsupported sg list?

Can't we perform a simple sanity check on the sg list instead?

Hello Sagi,

There is one memory descriptor pool per RDMA channel and RDMA channels
are typically used by more than one CPU. This means that memory
registration for more than one command can happen concurrently from a
single memory descriptor pool.
This is why checking how many memory
descriptors are left before memory registration occurs wouldn't be
sufficient.

How harm would it do to make the entire SG list mapping channel-wide
atomic? I'm asking because it's really a non-trivial flow you're
introducing.

Hello Sagi,

Sorry but I strongly prefer not to introduce new contention points in the SRP initiator driver.

Thanks,

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to