+------- 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