On 04/10/2012 07:45 AM, Jiri Denemark wrote:
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 | 21 ++++++++++++++++++---
src/qemu/qemu_domain.h | 5 +++++
src/qemu/qemu_process.c | 4 ++++
3 files changed, 27 insertions(+), 3 deletions(-)
ACK.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org