qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

replay: check other timers for icount limit

Record/replay can stall when there are no virtual devices that generate
events - it just uses all the time for vCPU thread. Therefore main loop
has to wait too much for the vCPU thread, because they are synchronized
in rr mode.
This patch does not let creating too long vCPU executions without
interrupting to main loop. It checks realtime timers that always exits
to control user input.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Message-Id: <157675958855.14346.18049977447896411847.stgit@pasha-Precision-3630-Tower>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

authored by

Pavel Dovgalyuk and committed by
Paolo Bonzini
fc6b2dba 3817261e

+4
+4
cpus.c
··· 1316 1316 */ 1317 1317 deadline = qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL, 1318 1318 QEMU_TIMER_ATTR_ALL); 1319 + /* Check realtime timers, because they help with input processing */ 1320 + deadline = qemu_soonest_timeout(deadline, 1321 + qemu_clock_deadline_ns_all(QEMU_CLOCK_REALTIME, 1322 + QEMU_TIMER_ATTR_ALL)); 1319 1323 1320 1324 /* Maintain prior (possibly buggy) behaviour where if no deadline 1321 1325 * was set (as there is no QEMU_CLOCK_VIRTUAL timer) or it is more than