Re: KVM guest lockup

Jan Niehusmann
2008-12-21T12:02:01Z

On Fri, Dec 19, 2008 at 06:44:01PM +0100, Max Kellermann wrote:
> By starting kvm with "-s", I was able to attach gdb to KVM. The
> following backtrace is with default options:
>
> #0 0xffffffff8023f3e0 in update_wall_time () at kernel/time/timekeeping.c:515
[...]

> The next one is with "noapic nolapic acpi=off":
>
> #0 0xffffffff8023f35a in update_wall_time () at kernel/time/timekeeping.c:501
> Both backtraces are from vanilla 2.6.28-rc8, .config attached.
[...]

Looking at the code, both these lines of code are inside a loop which
may run for quite a while if clocksource_read(clock) returns
non-monotonic values:

offset = (clocksource_read(clock) - clock->cycle_last) & clock->mask;
[...]
while (offset >= clock->cycle_interval) {
/* accumulate one interval */
offset -= clock->cycle_interval;
[...]
}

As I observed such behaviour only when the host has frequency scaling
activated: Could it be that in this case, clocksource_read(clock) on the
guest is misbehaving?

Jan