Subject: Re: usage of disarm_decr[]

From: "Xiaogeng (Shawn) Jin" <[email-masked]>
Date: Wed, 11 Dec 2002 14:31:50 -0800

Thank you. I have some further questions regarding to timer_interrupt().

How often is timer_interrupt() invoked? Every 1/HZ seconds? This is
controlled by the decrementer, right? Initially the value of the
decrementer is 'tb_ticks_per_jiffy'. Then it's updated in
timer_interrupt(). Why isn't 'next_dec' the initial value
'tb_ticks_per_jiffy'? It's due to the time drift caused by the accuracy
of external clock (oscillator) or by the precision of software?

	next_dec = tb_ticks_per_jiffy - tb_delta(&jiffy_stamp)

The timebase register is initialized to zero and then increments
periodically. How does it increment? Each clock (TMBCLK) the increment
is 1? by itself, I mean, hardware itself, or by software?

>>What's the purpose of using disarm_decr? I read the timer_interrupt()
>>code and found the only place where it's referenced.
>
> RT-Linux (www.fsmlabs.com) uses it.  RT-Linux takes over all interrupt
> handling, including decrementer interrupts, and the disarm_decr thing
> is there to give RT-Linux a way to take control of the decrementer
> register.

Thanks.

- Shawn.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/