Unexpected issues with 2 NVME initiators using the same target
Sagi Grimberg
sagi at grimberg.me
Wed Jun 28 00:08:49 PDT 2017
> Thinking out loud:
>
> IIRC the message head and tail reside in the persistently registered
> and DMA mapped buffers with few exceptions.
>
> However, when page cache pages are involved, xprtrdma will do a DMA
> unmap as you say.
>
> So:
> - we don't have a problem transmitting a garbled request thanks to
> exactly-once receive semantics
> - we don't have a problem with the timing of registration and
> invalidation on the initiator because the PD's DMA lkey is used
> - we do have a problem with DMA unmap
>
> Using only persistently registered and DMA mapped Send buffers
> should avoid the need to signal all Sends. However, when page
> cache pages are involved, then the Send needs to be signaled,
> and the pages unmapped only after Send completion, to be completely
> safe.
How do you know when that happens?
More information about the Linux-nvme
mailing list