where are the memory barriers in net driver rx DMA operations?

From: Chris Friesen
Date: Fri Jul 30 2010 - 14:46:59 EST

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?



Chris Friesen
Software Developer
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/