Il 25/11/2013 16:24, Peter Lieven ha scritto:
On 25.11.2013 16:14, Paolo Bonzini wrote:
Il 25/11/2013 16:07, Peter Lieven ha scritto:
since the convert process is basically a sync operation it might
be benificial in some case to change the hardcoded I/O buffer
size to an alternate (greater) value.
Do you really need the extra knob? You can just add to BlockLimits the
optimal transfer length, and use it unconditionally.
If you say patch 5 and 3 are ok. What could be done is to remove
this knob and increase the iobuf_size to cluster_size if cluster_size
is greater.
Yes, that makes sense because it avoids unnecessary COW.
I do not want to increase the default iobuf size to anything
greater than 2MB. I do not know why this was choosen, but maybe
there was a reason for it.
I think it is fine to increase it to the cluster_size or even to the
optimal transfer length (new BlockLimits field).
okay scsi speaking:
bs->bl.optimal_transfer_length = max(iscsilun->bl.opt_xfer_len,
iscsilun->bl.opt_unmap_gran) ?
I was thinking more of
bs->bl.optimal_transfer_length = lun2qemu(iscsilun->bl.opt_xfer_len);
...
iobuf_size =
max(bs->bl.optimal_transfer_length, cluster_sectors)*512;
iobuf_size = min(16MB, max(2MB, iobuf_size));