broken timer on VIA K8T800 chipset?

From: Vasily Averin
Date: Thu Aug 02 2007 - 03:33:31 EST


Vasily Averin wrote:
> john stultz wrote:
>> On 7/29/07, Vasily Averin <vvs@xxxxx> wrote:
>>> I've investigated why my testnode freezes. When I found that node is freezed
>>> again I've started to press Sysrq keys and noticed the following negative time jump.

I've found the reason of timer-related issue on the node.
I've noticed that number of timer interrupts is not changed (irq 0 in
/proc/interrupts). Timer interrupt is not works, jiffies is not not
incremented and timers cannot awake.

xtime and wall_to_monolitic are not changed, but ktime_get() returns
non-constant values because of __get_realtime_clock_ts corrects
nanoseconds. Correction vaule is different for various clocksourcses:
for "tsc" clocksource it is more noticeable (~4400 sec on my node).
Obviously for other clocksources correction value is not too big.

When correction value overflows we can observe negative time jump.

On the other hand timers are not critical for schedulers work, it uses
readtsc for timestaps and therefore node is not hangs completely.

However Now I have new question: why timer can hangs on VIA K8T800
chipset? How is possible to fix or at least workaround this issue?

I've try to disable irqbalance -- probably it will make the node more
stable.

thank you,
Vasily Averin

-
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/