Subject: Re: i386 interrupt counters
To: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
From: Noriyuki Soda <firstname.lastname@example.org>
Date: 08/14/1996 05:00:58
>>>>> On Mon, 12 Aug 1996 16:12:13 -0400,
Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu> said:
>> > (1) the first argument is a struct device *, which would mandate
>> > changing the calling interfaces for all (except possibly tc; i forget
>> > what that looks like) xxx_intr_establish() functions.
>> How do you think about changing last argument of
>> xxx_intr_establish() and argument of interrupt handler from
>> (void *) to (struct device *) ?
> This is a bad idea; there's no reason to believe that that is at all
>> Or, how about adding another argument (struct device *) to
>> xxx_intr_establish() ?
> This seems unnecessary, since the device could, and i would say
> _should_ do the evcnt handling itself.
If so, why do "struct intrhand" (on both i386 and alpha/pci/sio) and
"struct kn20aa_intrhand" have a member variable "ih_count" ?
It seems current handling of ih_count is somewhat vague.
If ih_count is bus level interrupt counter, why is it not
per-interrupt-line variable, but per-intrhand variable ?
a) replace "u_long ih_count" with "struct evcnt ih_count".
increment ih_count, only if return value of interrupt handler != 0.
b) remove "u_long ih_count" from "struct intrhand"
seems to be adequate.
email@example.com Software Research Associates, Inc., Japan
(Noriyuki Soda) software tools and technology group