On Fri, 2007-12-21 at 10:33 +0000, Alan Cox wrote: > On Fri, 21 Dec 2007 13:30:08 +1100 > Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote: > > > The sense buffer ins scsi_cmnd can nowadays be DMA'ed into directly > > by some low level drivers (that typically happens with USB mass > > storage). > > Should that not be fixed in USB storage by using pci_alloc_coherent on the > PCI device of the hub not peeing directly into kernel space ? All "dumb" SCSI drivers have this problem, USB storage is just one of them. This would also allow to remove bounce buffering that some non-dumb ones are doing in fact. There's another solution jejb was talking about involving reworking the allocation of the sense buffer to make it always under driver control etc... but that's the kind of SCSI surgery that I'm not prepared to do especially not for .25 and without much HW to test with. > It's also incomplete as a fix because I don't see what guarantees the > buffer size will always exceed cache line size How is that a problem ? The annotation will make sure the buffer doesn't share cache lines. It forces alignmenet before and pads after. Ben. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html