Go to file
Marek Marczykowski 951b2b0b69 dom0: fix clock problems which caused VM hangs during boot (~#253)
The source of problem was clockevent_program_event returns -ETIME:
------------ kernel/time/clockevents.c:
/**
 * clockevents_program_event - Reprogram the clock event device.
 * @expires:    absolute expiry time (monotonic clock)
 *
 * Returns 0 on success, -ETIME when the event is in the past.
 */
int clockevents_program_event(struct clock_event_device *dev, ktime_t
expires,
                  ktime_t now)
-------------

xen_vcpuop_set_next_event schedules event by getting current time
(xen_clocksource_read()) (*1) adding delta (expires-now) and programming
event with VCPUOP_set_singleshot_timer hypercall. Then xen gets current
time (*2) and in some rare cases this time is after expected timer
expiration... Even after VCPUOP_set_singleshot_timer hypercal,
xen_clocksource_read() reports time slightly in the past comparing to
xen time (reported by NOW() macro).

I think this is because "current" time is calculated different way in *1
and *2. The *1 way is controlled by tsc_mode, which is described here:
http://lxr.xensource.com/lxr/source/docs/misc/tscmode.txt. Default
tsc_mode=0 is "smart" and I think because of that can be slightly before
NOW() time. tsc_mode=2 is almost the same as NOW() macro works.

After all tsc_mode=2 was default in xen-3.4.
2011-08-31 22:08:24 +02:00
appvm qvm-run (in vm): accept --dispvm argument 2011-08-29 17:34:15 +02:00
common vm: allow user-define hook for IP change event 2011-08-18 15:49:49 +02:00
dom0 dom0: fix clock problems which caused VM hangs during boot (~#253) 2011-08-31 22:08:24 +02:00
netvm Revert "Run nm-applet as normal user" 2011-04-29 02:32:55 +02:00
proxyvm vm: disable forwarding when iptables rules are being (re)applied 2011-08-18 18:47:08 +02:00
qrexec Add comments to policy files. 2011-07-22 16:11:03 +02:00
rpm_spec qvm-open-in-*: recognize when the parameter is an url 2011-08-29 17:27:48 +02:00
u2mfn gitignores 2011-03-23 19:57:48 -04:00
vchan Adopt vchan to xen-libs-4.1.0 API. 2011-04-19 01:21:48 +02:00
.gitignore gitignore files - add build products 2011-03-06 14:06:24 +01:00
LICENSE Added LICENSE 2010-04-05 21:21:27 +02:00
Makefile Makefile: don't autoupdate yum repo after copying rpms there 2011-06-30 20:47:48 +02:00
version_dom0 version 1.6.18-dom0 2011-08-02 14:16:03 +02:00
version_vaio_fixes sony-vaio-fixes v1.6.1 2011-07-17 14:15:14 +02:00
version_vm version 1.6.19-vm 2011-08-02 19:37:41 +02:00