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>
next in thread | raw e-mail | index | archive | help
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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- intr_machdep.c (revision 206791) +++ intr_machdep.c (working copy) @@ -157,28 +157,17 @@ for (i =3D sizeof(eirr) * 8 - 1; i >=3D 0; i--) { if ((eirr & (1ULL << i)) =3D=3D 0) continue; ie =3D 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]); + } =20 write_c0_eirr64(1ULL << i); pic_ack(i, 0); Regards, -- Rui Paulo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAAA25BC-6094-4B5B-9C83-A330933EBA51>