On Thu, 8 Jul 1999 09:54:42 +0100 (BST),
  Doug Rabson <d...@nlsystems.com> said:

dfr> If I understand this correctly, you are suggesting that we program timer0
dfr> so that we only take interrupts when a finetimer is due to fire? If so,
dfr> then it sounds very good. The idea of taking 6000+ interrupts/sec made me
dfr> uneasy, even though most would return without doing any work.


Yes, that is what I am doing now. And some further discussion...

>       t' > \sum_(k=0)^(j) dt_rem(c_k)
> 
> where the right hand side of the inequality is the time span after which
> the callout c_k is made. Then c' is inserted after c_j and new dt_rem(c_(j+1))
> and dt_rem(c_(j+2)) are determined. Now we can acquire_timer0() with 
> dt_rem(c_0).

If t' is less than dt_rem(c_0) then we have no feasible j. This is the case
in which we must reaquire_timer0() using t'. Then, after interting c', 
dt_rem(c_1)
is updated to be (dt_rem(c_1) - (time elapsed since the last aquire_timer0())),
so that c_1 can be armed later.


There is one problem in this method. acquire_timer0() is only implemented
for i386. We would need to write something equivalent for alpha...


Seigo Tanimura <tanim...@naklab.dnj.ynu.ac.jp>


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to