Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Apr 2010 12:36:31 +0100
From:      Rui Paulo <rpaulo@freebsd.org>
To:        freebsd-mips@freebsd.org
Subject:   [PATCH] Account RMI XLR interrupts
Message-ID:  <BAAA25BC-6094-4B5B-9C83-A330933EBA51@freebsd.org>

index | next in thread | raw e-mail

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




home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAAA25BC-6094-4B5B-9C83-A330933EBA51>