Re: [RFT][PATCH] generic device DMA implementation

From: James Bottomley (James.Bottomley@SteelEye.com)
Date: Sat Dec 28 2002 - 13:13:23 EST


manfred@colorfullife.com said:
> You are aware that "users" is not one or two drivers that noone uses,
> it's the whole networking stack.

I am aware of this. I'm also aware that it is *currently* broken with the old
API on all non-coherent arch's bar the one you point out.

All I actually did was document the existing problem, I think.

How bad actually is it? Networking seems to work fine for me on non-coherent
parisc. Whereas, when I had this cache line overlap problem in a SCSI driver,
I was seeing corruption all over the place.

The problem really only occurs if the CPU can modify part of a cache line
while a device has modified memory belonging to another part. Now a flush
from the CPU will destroy the device data (or an invalidate from the driver
destroy the CPU's data). The problem is effectively rendered harmless if only
data going in the same direction shares a cache line (even if it is for
different devices). It strikes me that this is probably true for network data
and would explain the fact that I haven't seen any obvious network related
corruption.

James

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



This archive was generated by hypermail 2b29 : Tue Dec 31 2002 - 22:00:12 EST