On 05/26/2009 05:47 PM, James Bottomley wrote: > > There are several other approaches: > > 1. Keep the sense buffer packed in the command but disallow DMA to > it, which fixes all the alignment problems. Then we supply a > set of rotating DMA buffers to drivers which need to do the DMA > (which isn't the majority). This one is not possible because it is scsi-ml in majority of cases that does the DMA request through scsi_eh_prep_cmnd() and a regular read. The drivers don't even know anything about it. > 2. Sense is a comparative rarity, so us a more compact pooling > scheme and discard sense for reuse as soon as we know it's not > used (as in at softirq time when there's no sense collected). > This is the way to go for sure. And only on ARCHs with none-coherent-cache all the good ARCHs can just use embedded sense just fine. > I'd need a little more clarity on the actual size of the problem before > making any choices. > > The other thing to bear in mind is that two allocations of M and N might > be more costly than a single allocation of N+M; however, an allocation > of M+N+extra can end up more costly if the extra causes more page > reclaim before we get an actual command. > > James > Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html