[net.bugs.4bsd] More on 750 interrupt monitering

mike (03/25/83)

This is in reply to Paul Manno's question (nsdc.1015) about why I
ignored dz transmitter interrupts in my bug fix to config (mkubglue.c):

OOPS!  I missed that case, thanks for pointing it out.  However, it turns
out there is a good reason for not extending the fix to include counting
dz transmitter interrupts (though I didn't know it at the time...).  Dz
transmitter interrupts are counted in the 'v_pdma' field (see _dzdma in
locore.s), so we are not missing out on any interrupts.  Thats the good
news.  The bad news is that now we have to change vmstat instead (fun, fun).
The appropriate change should be made somewhere around line 240 to a
statement that looks like:

	printf("%4d%4d", (rate.v_intr/nintv)-hz, rate.v_syscall/nintv);

It should be changed to:

	printf("%4d%4d", 
	  ((rate.v_intr+rate.v_pdma)/nintv)-hz, rate.v_syscall/nintv);

Sorry that I cannot give you the exact line number, but I have modified
our vmstat heavily and the line number would be meaningless.

Note that you would not want to make this change to vmstat on a 780
system, as it would result in counting dz transmitter interrupts twice!

Now we have introduced some CPU dependent information into the vmstat
program.  This may not be such a hot idea.  An alternative to changing
vmstat would be to add ye ole:

#if defined(VAX750) || defined(VAXZZ)
	incl	_cnt+V_INTR
#endif

just after the:

	incl	_cnt+V_PDMA

in the _dzdma routine (locore.s).

			Mike Hibler
			ucbvax!unmvax!nmtvax!mike
			mike.nmt@rand-relay