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

Andrew Paprocki
2008-01-13T13:10:57Z

I applied the patch to my 2.6.23.13 tree and upon reboot it stopped right after:

Clocksource tsc unstable (delta = ... ns)
Time: hpet clocksource has been installed.

It locked up hard.. cursor stopped blinking and SysRq isn't working either.

-Andrew

On Jan 13, 2008 7:03 AM, Dhaval Giani <dhaval@linux.vnet.ibm.com> wrote:
>
> On Sun, Jan 13, 2008 at 06:10:52AM -0500, Andrew Paprocki wrote:
> > I started debugging a problem I was having with my sky2 network driver
> > under 2.6.23.13. The investigation led me to find that the HPET timer
> > wasn't working at all, causing the sky2 driver to not work properly.
> > Simple example:
> >
> > am2:/sys/devices/system/clocksource/clocksource0# cat current_clocksource
> > jiffies
> > am2:/sys/devices/system/clocksource/clocksource0# time sleep 1
> > real 0m1.000s
> > user 0m0.000s
> > sys 0m0.000s
> > am2:/sys/devices/system/clocksource/clocksource0# echo tsc > current_clocksource
> > am2:/sys/devices/system/clocksource/clocksource0# time sleep 1
> > real 0m1.005s
> > user 0m0.004s
> > sys 0m0.000s
> > am2:/sys/devices/system/clocksource/clocksource0# echo hpet >
> > current_clocksource
> > am2:/sys/devices/system/clocksource/clocksource0# time sleep 1
> > <hangs indefinetly...>
> >
> > Running strace shows it blocked on nanosleep(). I'm building the
> > kernel with the processor type set to Athalon64. I've built it with
> > and without SMP and high-res timers enabled and I get the same result.
> > My previous 2.6.18-4 kernel works because it does not install HPET as
> > the default timer. The same behavior occurs in 2.6.24-rc7 git head.
> > I've attached the config/dmesg below.
> >
>
> It seems the HPET timer was not being assigned any IRQs at all. Can you
> try the patch at http://lkml.org/lkml/2008/1/12/128 ?
>
> Thanks,
> --
> regards,
> Dhaval
>
>