Subject: Re: i386 interrupt counters
To: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
From: Noriyuki Soda <soda@sra.co.jp>
List: tech-kern
Date: 08/12/1996 07:44:22
>>>>> On Sun, 11 Aug 1996 15:19:49 -0400,
	Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu> said:

> What's fatally brain-dead about the current evcnt interrupt code?

> The big lose is that you only can have one interrupt counter per
> device, the device's evcnt counter with the name "intr."

Yes, theoretically it is problem. But IMHO, it is not real problem.
Because most devices only use one IRQ.

> What that means is that you have to do interrupt counting in the
> drivers.

Why don't you think that evcnt can be handled by bus code ?
(evcnt_attach() on xxx_intr_establish(), and dealing with interrupt
handler's return value on bus level interrupt accounting routine)

# I agree that handling in bus code is better than handling in driver
# code.

> It also has the disadvantage that there's no logical place to record
> stray interrupts.  For instance, if the CPU sees an interrupt on an
> interrupt line and there is no device attached, or no device claims
> the interrupt, then there's no good place to record the fact that
> the CPU was interrupted by the given line.

I agree. It is better to have stray interrupt counter.
But explorer's implementation doesn't have it. :-)
--
soda@sra.co.jp		Software Research Associates, Inc., Japan
(Noriyuki Soda)		   software tools and technology group