+------- M. Warner Losh, 2008-12-09 ------- | In message: <20081209141908.GA15845_at_artx.ru> | Ilya Orehov <elias_at_artx.ru> writes: | : +------- 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? | | Can you please do the following: | | + if (!ack) { | + printf("Need to ack %#x\n", sockevent); | + cbb_set(sc, CBB_SOCKET_EVENT, sockevent); | + } | | And let me know what it says? Recompiled, rebooted with xl0 - message printed only once after xl0 initialization: "Need to ack 0x1" Then I ejected xl0 - no message. When the card was inserted back, same message appeared. ... ad0: 57231MB <WDC WD600VE-07HDT0 09.07D09> at ata0-master UDMA33 xl0: <3Com 3c575TX Fast Etherlink XL> port 0x1000-0x103f irq 11 at device 0.0 on cardbus1 miibus0: <MII bus> on xl0 tdkphy0: <TDK 78Q2120 media interface> PHY 0 on miibus0 tdkphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto xl0: Ethernet address: 00:60:08:d2:38:56 xl0: [ITHREAD] Need to ack 0x1 acd0: CDROM <TOSHIBA CD-ROM XM-1902B/1717> at ata1-master PIO4 Trying to mount root from ufs:/dev/ad0s2a WARNING: attempt to net_add_domain(bluetooth) after domainfinalize() xl0: reset didn't complete xl0: command never completed! xl0: command never completed! xl0: command never completed! tdkphy0: detached miibus0: detached xl0: detached Need to ack 0x1 xl0: <3Com 3c575TX Fast Etherlink XL> port 0x1000-0x103f irq 11 at device 0.0 on cardbus1 miibus0: <MII bus> on xl0 tdkphy0: <TDK 78Q2120 media interface> PHY 0 on miibus0 tdkphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto xl0: Ethernet address: 00:60:08:d2:38:56 xl0: [ITHREAD] xl0: link state changed to DOWN xl0: link state changed to UP regards, Ilya. | | Warner | +-----------------------------
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC