Go to file
Michal Privoznik 67dcb797ed virTimeBackOffWait: Avoid long periods of sleep
While connecting to qemu monitor, the first thing we do is wait
for it to show up. However, we are doing it with some timeout to
avoid indefinite waits (e.g. when qemu doesn't create the monitor
socket at all). After beaa447a29 we are using exponential back
off timeout meaning, after the first connection attempt we wait
1ms, then 2ms, then 4 and so on.  This allows us to bring down
wait time for small domains where qemu initializes quickly.
However, on the other end of this scale are some domains with
huge amounts of guest memory. Now imagine that we've gotten up to
wait time of 15 seconds. The next one is going to be 30 seconds,
and the one after that whole minute. Well, okay - with current
code we are not going to wait longer than 30 seconds in total,
but this is going to change in the next commit.

The exponential back off is usable only for first few iterations.
Then it needs to be caped (one second was chosen as the limit)
and switch to constant wait time.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2017-03-16 09:21:39 +01:00
.gnulib@94386a1366 maint: update to latest gnulib 2017-01-10 12:54:54 -06:00
build-aux prohibit-duplicate-header: print file name and line 2016-06-23 12:48:40 +02:00
daemon Switch to GSSAPI (kerberos) instead of the insecure DIGEST-MD5 2017-03-15 18:14:51 +00:00
docs Switch to GSSAPI (kerberos) instead of the insecure DIGEST-MD5 2017-03-15 18:14:51 +00:00
examples secret: add support for value change events 2017-01-09 16:42:04 +00:00
gnulib build: drop hack for old mingw ssize_t 2016-07-12 08:57:13 -06:00
include/libvirt perf: add emulation_faults software perf event support 2017-03-07 13:51:05 -05:00
m4 configure: Fix configure output for RBD storage backend 2017-02-21 08:19:11 +01:00
po conf: Introduce storage_adapter_conf 2017-03-15 21:17:47 -04:00
src virTimeBackOffWait: Avoid long periods of sleep 2017-03-16 09:21:39 +01:00
tests qemu: Introduce label-size for NVDIMMs 2017-03-15 14:39:22 +01:00
tools virt-host-validate: add bhyve support 2017-03-11 21:22:58 +04:00
.ctags maint: Make ctags work out of the box 2013-07-18 08:47:21 +02:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore NEWS: Improve building pipeline 2017-01-10 19:37:53 +01:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap maint: update .mailmap for recent contributions 2015-03-20 06:17:55 -06:00
AUTHORS.in Change maintainers list 2016-02-12 13:10:05 +03:00
COPYING maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
COPYING.LESSER maint: Remove control characters from LGPL license file 2015-09-25 09:16:24 +02:00
ChangeLog-old Fix typos in src/* 2014-04-21 16:49:08 -06:00
HACKING Document preferred naming conventions 2017-03-10 11:28:56 +00:00
Makefile.am NEWS: Reformat at generation time 2017-01-10 19:37:55 +01:00
Makefile.nonreentrant cfg.mk: use a single regex for all non-reentrant functions 2016-06-15 15:00:56 +02:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking docs: update README-hacking 2014-05-06 16:20:24 -06:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00
autobuild.sh maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
autogen.sh maint: improve usage of autogen's --no-git 2015-02-06 11:35:29 -07:00
bootstrap maint: update to latest gnulib 2017-01-10 12:54:54 -06:00
bootstrap.conf hvsupport: use a regex instead of XML::XPath 2016-07-19 18:42:44 +02:00
cfg.mk qemu: Enforce qemuSecurity wrappers 2017-03-06 08:54:28 +01:00
config-post.h m4/virt-devmapper: use LIBVIRT_CHECK_(PKG|LIB) 2016-12-21 15:39:39 +01:00
configure.ac configure: disable scsi stroage driver on non-Linux 2017-03-09 18:46:41 +04:00
libvirt-admin.pc.in Add libvirt-admin library 2015-06-16 13:46:20 +02:00
libvirt-lxc.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt-qemu.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.spec.in Switch to GSSAPI (kerberos) instead of the insecure DIGEST-MD5 2017-03-15 18:14:51 +00:00
mingw-libvirt.spec.in test: fix screenshot API impl 2016-12-08 10:57:32 +00:00
run.in Add PKG_CONFIG_PATH to run.in script. 2014-06-26 14:32:35 +01:00

README

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>