Re: clockevents: fix resume logic

Thomas Gleixner
2007-09-11T21:50:10Z

On Tue, 2007-09-11 at 21:52 +0200, Thomas Gleixner wrote:
> > C1: type[C1] promotion[C2] demotion[--] latency[001] usage[00000010] duration[00000000000000000000]
> > *C2: type[C2] promotion[--] demotion[C1] latency[001] usage[00008316] duration[00000000000170717293]
>
> Ok, here we are. The bad one uses C2 which stops the local apic on the
> VAIO. I suspect we end up in the suspend/resume with going into C2
> without the broadcast active.
>
> Can you try to get the output of SysRq-Q during the "it needs help from
> keyboard" period ?

Summary of the oddities we are seing:

1.) disabling local apic timer makes the problem go away
2.) disabling nohz and highres makes the problem go away
3.) adding the cpuidle patches from the acpi tree makes the problem go
away

The obvious conclusion is, that in all other cases we run into a state,
where the local apic timer is not working.

1) we do not use it
2) it is used in periodic mode
3) the cpu does not enter C2 (which turns the lapic timer off on the
VAIO)

While 1) and 3) are understandable, the reason why 2) is working is a
mystery because the periodic mode is affected by the C state as well.

Andrew, can you please provide the output of /proc/timer_list when you
boot the kernel with "nohz=off highres=off", but honestly I do not
expect a lot of enlightenment from it.

The Sysrq-Q output from the point where the box is stuck without
keystrokes might give us more information.

tglx