On Wed, Oct 28, 2009 at 08:25:22PM +0100, Hannes Reinecke wrote: > I don't think we really need two modes. > My preferred interface here is to pass down scatter-gather lists down > with every xfer; this way it'll be the responsibility of the driver to > create the lists in the first place. If it has hardware scatter-gather > support it can just pass them down, if not it can as easily create a > scatter-gather list with just one element as a bounce buffer. Yes. If this really causes performance problems for esp we can add bounce buffering in that driver later. > So something like > - Get next request > - Attach iovec/bounc-buffer > - handle request (command/write/read) > - complete request (callback) Btw, from some previuous attempts to sort out this code here are some thing that I think would be beneficial: - try to create generic scsi device/request structures that the hba driver can access, and which contain additional private data for scsi-disk/generic. Information in the generic one would include the information about the data transfer, the tag and the command block. - try to get rid of the tag indexing stuff by just using a pointer to the generic scsi request in the hba drivers. That should get rid of a lot of useless list searching. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html