qemu/include
Paul Donohue fb1a3a051d qemu-timer: Call clock reset notifiers on forward jumps
Commit 691a0c9c introduced a mechanism by which QEMU_CLOCK_HOST can
notify other parts of the emulator when the host clock has jumped
backward.  This is used to avoid stalling timers that were scheduled
based on the host clock.

However, if the host clock jumps forward, then timers that were
scheduled based on the host clock may fire rapidly and cause other
problems.  For example, the mc146818rtc periodic timer will block
execution of the VM and consume host CPU while firing every interrupt
for the time period that was skipped by the host clock.

To correct that problem, this commit fires the reset notification if the
host clock jumps forward by more than a hard-coded limit.  The limit is
currently set to a value of 60 seconds, which should be small enough to
prevent excessive timer loops, but large enough to avoid frequent resets
in idle VMs.

Signed-off-by: Paul Donohue <qemu-git@PaulSD.com>
Message-Id: <20150612140845.GD2749@TopQuark.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-06-19 12:27:14 +02:00
..
block Block layer core and image format patches 2015-06-15 10:43:06 +01:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec linux-user: Allocate thunk size dynamically 2015-06-15 11:36:58 +03:00
fpu softfloat: expand out STATUS macro 2015-02-06 16:11:38 +00:00
hw ACPI: Add definitions for the SPCR table 2015-06-15 18:06:11 +01:00
libdecnumber Fix new typos in comments (found by codespell) 2014-07-18 17:45:36 +04:00
migration Add a protective section footer 2015-06-12 06:54:01 +02:00
monitor audio: remove LOG_TO_MONITOR along with default_mon 2015-06-15 12:42:48 +02:00
net vhost: 64 bit features 2015-06-10 18:15:04 +02:00
qapi qdict: Add qdict_{set,copy}_default() 2015-06-12 16:58:06 +02:00
qemu qemu-timer: Call clock reset notifiers on forward jumps 2015-06-19 12:27:14 +02:00
qom qom: add object_property_add_const_link 2015-06-05 17:36:39 +02:00
standard-headers virtio: update headers, add virtio-gpu (2d) 2015-06-10 11:02:00 +02:00
sysemu virtio-gpu: pci support bits and virtio-vga. 2015-06-16 10:35:43 +01:00
ui QemuOpts: Convert qemu_opts_foreach() to Error 2015-06-09 07:37:37 +02:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h linux/elf.h update 2015-05-27 17:52:03 +02:00
glib-compat.h glib: remove stale compat functions 2015-05-22 15:58:06 -04:00
qemu-common.h machine: add default_ram_size to machine class 2015-06-03 23:56:55 +02:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qjson.h QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00