Am 05.04.2013 um 17:23 hat Paolo Bonzini geschrieben: > Il 05/04/2013 15:44, Kevin Wolf ha scritto: > > This seems to have killed savevm performance. I noticed that > > qemu-iotests case 007 took forever on my test box (882 seconds instead > > of something like 10 seconds). It can be reproduced by this script: > > > > export MALLOC_PERTURB_=11 > > qemu-img create -f qcow2 -o compat=1.1 test.qcow2 1M > > time qemu-system-x86_64 -nographic -hda $TEST_IMG -serial none -monitor > > stdio <<EOF > > savevm test > > quit > > EOF > > > > This used to take about 0.6s for me, after this patch it's around 10s. > > The solution could be to make bdrv_load_vmstate take an iov/iovcnt pair.
Ah, so you're saying that instead of linearising the buffer it breaks up the requests in tiny pieces? Implementing vectored bdrv_load/save_vmstate should be easy in theory. > Alternatively, you can try the attached patch. I haven't yet tested it > though, and won't be able to do so today. Attempted to write to buffer while read buffer is not empty Program received signal SIGABRT, Aborted. Kevin
