Subject: Re: vmstat disk activity
To: Michael L. VanLoon -- HeadCandy.com <michaelv@HeadCandy.com>
From: Chris G Demetriou <Chris_G_Demetriou@BALVENIE.PDL.CS.CMU.EDU>
List: port-i386
Date: 11/27/1995 00:26:36
> Speaking of which... Will the count of interrupts per second ever be
> fixed? There are/were times when I could really use this information
> (i386 port, of course).
This is actually relatively east to fix 'the wrong way.' I was able
to add interrupt counting functionality to the alpha port, and test
it, in a couple of hours. I used the old 'intrnames'/'intrcnt'
method, because i found that the new 'evcnt' method was insufficient.
the 'evcnt' counter method has a couple of deficiencies that need to
be addressed, in my opinion, before it can be used for anything
reasonable.
(1) a device can have at most _one_ interrupt counter.
To my mind, this makes little sense for busses which
have interrupt lines which are logically associated
with the busses themselves. For instance, for ISA,
one really wants "ISA IRQ 0" - "ISA IRQ 15" or whatever.
instead, you can only have one interrupt counter for
the 'isa' device.
(2) There's no notion of 'overlapping' interrupts. for
instance, if you have an interrupt line which two
devices share, you really want several different
counters kept:
(1) interrupts on that line (so you can
reallocate lines, if necessary),
(2) interrupts that were really caused by
the first device (if you can tell), and
(3) interrupts that were really caused by the
second device (if you can tell.
The problem is that if you keep all three of those
things, the systemwide totals and averages end up
too high. If you keep the latter two, then you
can potentially miss some strays, unless you keep
track of them seperately, and there's no automatic
way to see how the device interrupts translate
into interrupts on a given 'line.'
It seems to me that it'd be nice to have a counter mechanism that
can understand and interrupt 'hierarchy,' but i've not sat down
and designed or implemented one... 8-)
chris