2010-07-30 18:46:56

by Chris Friesen

[permalink] [raw]
Subject: where are the memory barriers in net driver rx DMA operations?


Documentation/DMA-API-HOWTO.txt says that memory barriers are still
required when accessing consistent mappings. The example they give is
for reordering stores to consistent memory but I assume this also
applies to reordering loads.

However, I see many net drivers accessing the descriptor ring (in
consistent memory), checking the status bit for the buffer, then calling
dma_unmap_single() and accessing the data without any explicit memory
barrier. Does the unmapping call act as a barrier in this case?

Thanks,

Chris

--
Chris Friesen
Software Developer
GENBAND
[email protected]
http://www.genband.com