]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemu: Avoid excessive calls to qemuDomainObjSaveJob()
authorJiri Denemark <jdenemar@redhat.com>
Fri, 6 Apr 2012 17:42:34 +0000 (19:42 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 11 Apr 2012 07:57:21 +0000 (09:57 +0200)
commit31796e2c1c8187b6b76a58d43f3bc28e030223ee
tree898f2932f1e9cd9600c10c54599d2f175722abe0
parent1bd587abe241e3d5c0e8dfaa9301ccec1a00dc14
qemu: Avoid excessive calls to qemuDomainObjSaveJob()

As reported by Daniel BerrangĂ©, we have a huge performance regression
for virDomainGetInfo() due to the change which makes virDomainEndJob()
save the XML status file every time it is called. Previous to that
change, 2000 calls to virDomainGetInfo() took ~2.5 seconds. After that
change, 2000 calls to virDomainGetInfo() take 2 *minutes* 45 secs.

We made the change to be able to recover from libvirtd restart in the
middle of a job. However, only destroy and async jobs are taken care of.
Thus it makes more sense to only save domain state XML when these jobs
are started/stopped.
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_process.c