[PATCH v2 0/3] Add caching of QEMU probed capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A followup to

  https://www.redhat.com/archives/libvir-list/2014-March/msg00297.html

Probing capabilities takes 200-300ms per binary and we have as many
as 26 binaries. This noticably slows down libvirtd startup. It does
not look like performance of probing QEMU can be improved, so this
series introduces caching of the capabilities information. So the
first time libvirtd starts it'll be slow, but thereafter it is fast.
The cache is invalidated any time the QEMU binary timestamp changes
or the libvirtd binary or driver module timestamp changes.

In v2:

 - Store timestamps in XML file instead of non-portable utimes()
 - Use ctime instead of mtime since the latter can be faked
   by package managers to go backwards in time.

Daniel P. Berrange (3):
  Add helper APIs to track if libvirtd or loadable modules have changed
  Change QEMU capabilities cache to check ctime instead of mtime
  Cache result of QEMU capabilities extraction

 daemon/libvirtd.c            |   2 +
 src/driver.c                 |   2 +
 src/libvirt_private.syms     |   2 +
 src/qemu/qemu_capabilities.c | 442 +++++++++++++++++++++++++++++++++++++++++--
 src/qemu/qemu_capabilities.h |   2 +
 src/qemu/qemu_driver.c       |   1 +
 src/util/virutil.c           |  23 +++
 src/util/virutil.h           |   4 +
 8 files changed, 467 insertions(+), 11 deletions(-)

-- 
1.8.5.3

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]