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