Re: HPET timer broken using 2.6.23.13 / nanosleep() hangs

Thomas Gleixner
2008-01-18T10:27:35Z

On Wed, 16 Jan 2008, Andrew Paprocki wrote:

> I applied the patch and I am still locking up after
> Time: hpet clocksource has been installed.

That was expected :)

> I rebooted with "clocksource=tsc" to get the logs of the trace which
> was added. I'm assuming the grep below gets all the interesting parts.
> I enabled the HPET character device as mentioned before, which is why
> the hpet0 lines appear now.
>
> # dmesg | egrep -i "(hpet|time|clock)"
> ACPI: HPET 37FE7400, 0038 (r1 RS690 AWRDACPI 42302E31 AWRD 98)
> ATI board detected. Disabling timer routing over 8254.
> ACPI: PM-Timer IO Port: 0x4008
> ACPI: HPET id: 0x10b9a201 base: 0xfed00000
> Kernel command line: vga=0x31a root=/dev/sda1 ro clocksource=tsc
> HPET check: t1=5 t2=1139 s=56226339975 n=56226539985

Ok, the counter works when we initialize the HPET.

t2-t1 = 1134 ticks ~= 79us
s-n = 200010 ~= 2525MHz --> That should be the frequency of your CPU.

> Jan 16 14:44:43 am2 kernel: Call Trace:
> Jan 16 14:44:48 am2 kernel: [<c01371be>] enqueue_hrtimer+0xd7/0xe2
> Jan 16 14:44:48 am2 kernel: [<c0137803>] hrtimer_start+0xe8/0xf4
> Jan 16 14:44:48 am2 kernel: [<c03ac8d3>] do_nanosleep+0x48/0x73
> Jan 16 14:44:48 am2 kernel: [<c03ac932>] hrtimer_nanosleep_restart+0x34/0xa1
> Jan 16 14:44:48 am2 kernel: [<c013735d>] hrtimer_wakeup+0x0/0x18
> Jan 16 14:44:48 am2 kernel: [<c012e837>] sys_restart_syscall+0xe/0xf
> Jan 16 14:44:48 am2 kernel: [<c0103d0a>] sysenter_past_esp+0x5f/0x85

When the system is hung, can you please hit SysRq-Q wait a bit and hit
SysRq-Q again. Please provide the output.

Thanks,
tglx