Hi Paolo, On 12/17/2015 03:13 PM, Paolo Bonzini wrote: > > > On 17/12/2015 14:10, Alex Pyrgiotis wrote: >>>>>> Which commands have large payloads and are on the data path, for >>>>>> scsi-block? Or is the use case just scsi-generic (e.g. tape devices?)? >> >> If I understand correctly, what you're saying is that if "scsi-block" is >> started with "cache=writeback" and internally uses ioctl()s to bypass >> the page cache, why not set "cache=none" beforehand and use >> readv()/writev()? >> >> This is a valid suggestion, but this patch does not target only the >> "scsi-block" device type. Its purpose is to allow faster read/writes via >> ioctl()s, either to a "scsi-block" device or to a "scsi-generic" device. >> Note that the latter device type can only use ioctl()s, so it cannot >> benefit from the readv()/writev() DMA interface and currently has to use >> a bounce buffer. > > Okay, so that answers my questions; there is still a valid use case for > e.g. tape devices, and of course for when someone forgets to use scsi-block.
Nice. I'm looking forward to your comments and I'll reply promptly. Thanks, Alex >>> We can improve the code to print a warning if you don't. (It needs some >>> care: iscsi never caches, independent of the cache= argument, so we >>> don't want to warn for it. But it can be done). >> >> I wasn't particularly concerned about that issue. I'd may prefer if this >> was explicitly addressed in the QEMU doc, under the "cache=" section, >> but that's a different discussion. >> >> Thanks, >> Alex >>