On Sat, Apr 19, 2008 at 12:29:47PM -0300, Marcelo Tosatti wrote:
> > I just reproduced this on a UP guest. Were you seeing the exact same
> > stack trace in the guest with kvm-64 ?
>
> I've been able to reproduce the problem. Symptoms are that when using
> NOHZ vcpu0 LAPIC timer is ticking far less than the others (apparently vcpu0
> is the only one ticking "correctly"):
>
>
> nohz=on with kvmclock
> [EMAIL PROTECTED] ~]# cat /proc/timer_stats | grep apic
> 13214, 8590 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 13214, 8589 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 13211, 8588 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 389, 8587 qemu-system-x86 apic_mmio_write (apic_timer_fn)
>
> nohz=off
> 3253, 8672 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 2876, 8673 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 2543, 8674 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 2179, 8675 qemu-system-x86 apic_mmio_write (apic_timer_fn)
>
> no-kvmclock
> 1017, 8808 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 1577, 8809 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 1708, 8807 qemu-system-x86 apic_mmio_write (apic_timer_fn)
> 1812, 8806 qemu-system-x86 apic_mmio_write (apic_timer_fn)
>
>
> Glauber will start looking at this next week.
Glauber, that printk you suggested has just triggered, but in a
different condition. Guest was working fine (SMP 2-way), then suddenly:
[EMAIL PROTECTED] bonnie++-1.03c]# ./bonnie++
You must use the "-u" switch when running as root.
usage: bonnie++ [-d scratch-dir] [-s size(Mb)[:chunk-size(b)]]
[-n number-to-stat[:max-size[:min-size][:num-directories]]]
[-m machine-name]
[-r ram-size-iserial8250: too much work for irq4
n-Mb]
[-x number-of-tests] [-u uid-to-use:gid-to-use] [-g gid-to-use]
[-q] [-f] [-b] [-p processes | -y]
Version: 1.03c
[EMAIL PROTECTED] bonnie++-1.03c]# ./bonnie++ dirty_portuguese_word: -361322
And there it hanged.
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index a3fa587..7785fcc 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -453,6 +453,8 @@ void update_wall_time(void)
#else
offset = clock->cycle_interval;
#endif
+ if ((s64) offset < 0)
+ printk("...! %lld\n", (s64)offset);
clock->xtime_nsec += (s64)xtime.tv_nsec << clock->shift;
/* normally this loop will run just once, however in the
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel