[rds-devel] Has anyone tried RDS on IA64 Linux?
Or Gerlitz
ogerlitz at voltaire.com
Tue Apr 29 04:58:48 PDT 2008
Or Gerlitz wrote:
> I see here possible confusion / little design bug between memory pinning
> and dma mapping - for buffer to be handed to an RDMA device it has to go
> through:
> - memory pinning
> - memory registration
> - dma mapping
oops, I was wrong here... the correct order is dma mapping --before--
memory registration as the registration API you work with gets DMA
addresses of pages. This means that you typically want to issue memory
un-registration before dma un-mapping. But this way or another, I think
you should dma un-map the buffer before letting the CPU touch it.
Or
>
> Now, when the RDMA (in the wide sense which covers also Send/Receive)
> completes it has to go through the reverse sequence
> - dma un-mapping
> - memory de-registration
> - memory un-pinning
>
> The dma un mapping must takes place before there is any attempt to touch
> this buffer from the CPU. If the RDS code deferred this to the time it
> issues memory de-registration - its a bug.
More information about the rds-devel
mailing list