[PATCH] Account RMI XLR interrupts

Rui Paulo rpaulo at freebsd.org
Tue Apr 20 11:36:35 UTC 2010


Hi,
The following patch accounts interrupts on the XLR and makes vmstat -i and systat work display useful data. I think the commented out atomic inc can go away, but I'm not sure.

Here's an example:

$ vmstat -i
interrupt                          total       rate
int16:                             56118        984
int17:                               214          3
Total                              56332        988

int16 is the timer and int17 is the network interface (rge1).

Index: intr_machdep.c
===================================================================
--- intr_machdep.c	(revision 206791)
+++ intr_machdep.c	(working copy)
@@ -157,28 +157,17 @@
 	for (i = sizeof(eirr) * 8 - 1; i >= 0; i--) {
 		if ((eirr & (1ULL << i)) == 0)
 			continue;
 		ie = mips_intr_events[i];
 		/* atomic_add_long(mih->cntp, 1); */
+		/* Don't account special IRQs */
+		switch (i) {
+		case IRQ_IPI:
+		case IRQ_MSGRING:
+			break;
+		default:
+			mips_intrcnt_inc(mips_intr_counters[i]);
+		}
 
 		write_c0_eirr64(1ULL << i);
 		pic_ack(i, 0);

Regards,
--
Rui Paulo




More information about the freebsd-mips mailing list