Re: "interrupt storm..."; seems associated with an0 NIC

From: Ilya Orehov <elias_at_artx.ru>
Date: Tue, 9 Dec 2008 17:19:08 +0300
+------- M. Warner Losh, 2008-12-05 -------
| Thanks.  Grump.  Will have to back out and try again.

Hello!

I see storm too, but with 32-bit cards.

Thinkpad 600X, two cardbus cards: xl0 and ath0.

Since pccbb.c 1.176 and pccbb_pci.c 1.30
after rebooting with card(s) inserted or inserting any card
I see "interrupt storm...throttling..." messages about 1 per second.
Laptop remains usable, cards working.
Storm don't stop even if I eject all cards.
During storm, vmstat -i shows rate ~500 on cbb.
No messages appeared if laptop rebooted without cards
(until any card inserted).

Later revisions ( pccbb.c 1.178 and pccbb_pci.c 1.31) 
didn't bring any visible changes.

But this hack helped.
No storm detected, vmstat -i shows rate 0 or 1 on cbb.

diff -up xxx/pccbb_pci.c ./pccbb_pci.c
--- xxx/pccbb_pci.c	2008-12-06 11:56:00.000000000 +0300
+++ ./pccbb_pci.c	2008-12-09 14:08:03.000000000 +0300
_at__at_ -689,6 +689,7 _at__at_ cbb_pci_filt(void *arg)
 	struct cbb_softc *sc = arg;
 	uint32_t sockevent;
 	int retval = FILTER_STRAY;
+	int ack = 0;
 
 	/*
 	 * Read the socket event.  Sometimes, the theory goes, the PCI
_at__at_ -722,6 +723,7 _at__at_ cbb_pci_filt(void *arg)
 			sc->cardok = 0;
 			cbb_disable_func_intr(sc);
 			wakeup(&sc->intrhand);
+			ack = 1;
 		}
 		/*
 		 * If we get a power interrupt, wakeup anybody that might
_at__at_ -732,7 +734,10 _at__at_ cbb_pci_filt(void *arg)
 			cbb_set(sc, CBB_SOCKET_EVENT, CBB_SOCKET_EVENT_POWER);
 			sc->powerintr++;
 			wakeup((void *)&sc->powerintr);
+			ack = 1;
 		}
+		if (!ack) 
+			cbb_set(sc, CBB_SOCKET_EVENT, sockevent);
 		retval = FILTER_HANDLED;
 	}
 	/*

Do you need dmesg or some other info?

regards,
Ilya.

| 
| Warner
| _______________________________________________
| freebsd-current_at_freebsd.org mailing list
| http://lists.freebsd.org/mailman/listinfo/freebsd-current
| To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
| 
+-----------------------------
Received on Tue Dec 09 2008 - 13:36:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC