On Fri, Jun 04, 2010 at 08:23:32AM -0600, Eric Blake wrote:
On 06/04/2010 02:28 AM, Daniel P. Berrange wrote:
> On Thu, Jun 03, 2010 at 11:57:33PM -0400, Laine Stump wrote:
>> See
https://bugzilla.redhat.com/show_bug.cgi?id=599091
>>
>> Saving a paused 512MB domain took 3m47s with the old block size of 512
>> bytes. Changing the block size to 1024*1024 decreased the time to 56
>> seconds. (Doubling again to 2048*1024 yielded 0 improvement; lowering
>> to 512k increased the save time to 1m10s, about 20%)
>
> Surely we should have gone for 1024*1024 in this case ?
>
> NB, since our XML header gets rounded up to a multiple of the block
> size, smaller is better, because we're filling the disk with zeros
> here :-)
In that case, it may be better to have two constants - the preferred
transfer size (1M), and the XML padding block size (512 as before, or
perhaps 4k given newer disk architectures that prefer 4k), along with
code that allows the final transfer to be shorter than the preferred
size so long as it is still a multiple of the block size.
That doesn't work because dd can't seek into the file a size less than
its transfer size. ie the seek=NN parameter is specifying a multiple
of the bs=XX value, not an absolute seek position in bytes.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|