qemu/tests/libqos
Stefan Hajnoczi 70556264a8 libqos: use microseconds instead of iterations for virtio timeout
Some hosts are slow or overloaded so test execution takes a long time.
Test cases use timeouts to protect against an infinite loop stalling the
test forever (especially important in automated test setups).

Commit 6cd14054b6 ("libqos virtio:
Increase ISR timeout") increased the clock_step() value in an attempt to
lengthen the virtio interrupt wait timeout, but timeout failures are
still occuring on the Travis automated testing platform.

This is because clock_step() only affects the guest's virtual time.
Virtio requests can be bottlenecked on host disk I/O latency - which
cannot be improved by stepping the clock, so the fix was ineffective.

This patch changes the qvirtio_wait_queue_isr() and
qvirtio_wait_config_isr() timeout mechanism from loop iterations to
microseconds.  This way the test case can specify an absolute 30 second
timeout.  Number of loop iterations is not a reliable timeout mechanism
since the speed depends on many factors including host performance.

Tests should no longer timeout on overloaded Travis instances.

Cc: Marc Marí <marc.mari.barcelo@gmail.com>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29 17:31:11 +01:00
..
fw_cfg.c libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
fw_cfg.h libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
i2c-omap.c libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00
i2c.c libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00
i2c.h libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00
malloc-pc.c libqos: add a simple first-fit memory allocator 2014-09-08 11:12:43 +01:00
malloc-pc.h libqos: add a simple first-fit memory allocator 2014-09-08 11:12:43 +01:00
malloc.h libqos: Change free function called in malloc 2014-08-15 18:03:14 +01:00
pci-pc.c libqos: allow qpci_iomap to return BAR mapping size 2014-08-15 18:03:13 +01:00
pci-pc.h libqos: Fixes a small memory leak. 2014-08-15 18:03:13 +01:00
pci.c ahci: add test_pci_enable to ahci-test. 2014-09-22 11:39:40 +01:00
pci.h libqos: Added MSI-X support 2014-09-08 11:12:43 +01:00
virtio-pci.c libqos: Added EVENT_IDX support 2014-09-08 11:12:43 +01:00
virtio-pci.h libqos: Added MSI-X support 2014-09-08 11:12:43 +01:00
virtio.c libqos: use microseconds instead of iterations for virtio timeout 2014-09-29 17:31:11 +01:00
virtio.h libqos: use microseconds instead of iterations for virtio timeout 2014-09-29 17:31:11 +01:00