hangcheck timer and acpi

Evuraan evuraan at gmail.com
Sun May 24 19:18:57 UTC 2009


I've had many cases where hangcheck_timer did not help - and the
machine was left hung.

/*
 * The hangcheck-timer driver uses the TSC to catch delays that
 * jiffies does not notice.  A timer is set.  When the timer fires, it
 * checks whether it was delayed and if that delay exceeds a given
 * margin of error.  The hangcheck_tick module paramter takes the timer
 * duration in seconds.  The hangcheck_margin parameter defines the
 * margin of error, in seconds.  The defaults are 60 seconds for the
 * timer and 180 seconds for the margin of error.  IOW, a timer is set
 * for 60 seconds.  When the timer fires, the callback checks the
 * actual duration that the timer waited.  If the duration exceeds the
 * alloted time and margin (here 60 + 180, or 240 seconds), the machine
 * is restarted.  A healthy machine will have the duration match the
 * expected timeout very closely.
 */

probably because of acpi and more tick sources (pmtimer,hpet and what
not?)  than TSC? long story short, has anybody seen this behavior
where hangcheck_timer does not fire and fails to rescue you?

[   12.033127] checking TSC synchronization [CPU#0 -> CPU#1]: passed.
[   12.120397] HPET at base address 0xfed00000
[   12.276638] hpet clockevent registered
[   12.276645] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[   12.276651] hpet0: 3 64-bit timers, 14318180 Hz
[   12.280466] Time: tsc clocksource has been installed.

thanks.!!




More information about the ubuntu-users mailing list