Re: [patch 06/10] 40x decrementer fixes
flat view
From: Sergei Shtylyov <hidden>
Date: 2007-08-05 14:17:37
Benjamin Herrenschmidt wrote:
quoted
quoted
Allow generic_calibrate_decr to work for 40x platforms. Given that the hardware behavior is identical, this also changes the set_dec function to reload the PIT on 40x to match the behavior 44x currently has.
quoted
Why bother doing this?! This will only warrant you imprecise decrementer interrupts while it should be interrupting at the precise period currently (if you load PIT once)...
Because that's what the kernel timekeeping code expects ? The reference time is the timebase and it doesn't drift.
The DEC/PIT is commonly used to trigger any timing, such as what is done for lost interrupts on some platforms. Also, with dynticks, we'll most certainly want variable reload values as well.
That's another matter. :-) BTW, because of that mere return in set_dec() for the 40x case I had to write to the PIT myself in the decrementer clockevent's set_next_event() method -- while for classic PPC I was just calling set_dec(n-1)...
So I'm very happy to have Josh change the code that way. It makes things more consistent accross the board and removes confusion.
Yeah, it's OK now that's my temporary confusion has passed. Well, it wasn't only not only mine -- the set_dec() code was suggesting auto-reload mode, and has been obviosuly copied from <asm-ppc/time.h>, so arch/ppc/ was using the auto-reload mode indeed.
Ben.
WBR, Sergei