Unexpected issues with 2 NVME initiators using the same target
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Tue Jun 27 09:28:00 PDT 2017
On Tue, Jun 27, 2017 at 07:07:08PM +0300, Sagi Grimberg wrote:
>
> >Go back and browse the end of the thread: there's no need to change
> >xprtrdma, and maybe no need to change the others either.
>
> I think there is, even with inline, xprtrdma dma maps the immediate
> buffers, also the message head and tail so unmapping these buffers
> without waiting for the send completion would trigger a IOMMU access
> error (the HCA (re)tries to access an already unmapped buffer).
Yes, that is an excellent observation. When using the local rdma lkey
you still need to ensure the linux API DMA map remains until
completion.
send completion mitigation is still possible, if it is OK for the
backing pages to remain, but I think a more sophisticated strategy is
needed - eg maybe push some kind of NOP through the send q after a
timer or only complete when the last available work is stuffed or
something.
Jason
More information about the Linux-nvme
mailing list