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
>>

Reply via email to