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