Unexpected issues with 2 NVME initiators using the same target
Sagi Grimberg
sagi at grimberg.me
Sun Jul 2 02:45:26 PDT 2017
>> Or wait for the send completion before completing the I/O?
>
> In the normal case, that works.
>
> If a POSIX signal occurs (^C, RPC timeout), the RPC exits immediately
> and recovers all resources. The Send can still be running at that
> point, and it can't be stopped (without transitioning the QP to
> error state, I guess).
In that case we can't complete the I/O either (or move the
QP into error state), we need to defer/sleep on send completion.
> The alternative is reference-counting the data structure that has
> the ib_cqe and the SGE array. That adds one or more atomic_t
> operations per I/O that I'd like to avoid.
Why atomics?
More information about the Linux-nvme
mailing list