Re: KVM guest lockup

From: Jan Niehusmann
Date: Sun Dec 21 2008 - 07:02:21 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/