[RFC/PATCH 2/2] Generic clockevents and no-idle-HZ for PowerPC
olof at lixom.net
Fri Sep 7 06:03:07 EST 2007
On Thu, Sep 06, 2007 at 02:15:16PM -0500, Olof Johansson wrote:
> I don't think that set_dec() is needed any more. I get a very long
> delay during "Calibrating delay loop..." with it there.
> Looks like decrementer_set_next_event() already sets a reasonable
> decementer value, it's called through the notify chain set off
> from register_decrementer_clockevent() -> ... -> tick_notify() ->
> tick_setup_periodic() -> clockevents_program_event().
One more problem for at least PA6T is that we'll keep taking decrementer
exceptions as long as DEC contains a negative value, and there seems
to be cases where this happens, i.e. it's not reset for other reasons.
I ended up adding a set_dec(DECREMENTER_MAX) at the start of
timer_interrupt() to avoid the case where none of the code paths through
timer_interrupt() resets the decrementer. I didn't have time to fully
dig down and figure out what paths causes this and why, so I suppose it's
more of a workaround than a solution.
I think 970 behaves the same, but I haven't verified.
More information about the Linuxppc-dev