[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