From owner-freebsd-current@FreeBSD.ORG Tue Dec 9 14:36:36 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 920961065675 for ; Tue, 9 Dec 2008 14:36:36 +0000 (UTC) (envelope-from elias@artx.ru) Received: from round.artx.ru (round.artx.ru [80.73.175.73]) by mx1.freebsd.org (Postfix) with ESMTP id 4C1738FC0C for ; Tue, 9 Dec 2008 14:36:36 +0000 (UTC) (envelope-from elias@artx.ru) Received: by round.artx.ru (Postfix, from userid 1001) id 70E4A5C27; Tue, 9 Dec 2008 17:19:08 +0300 (MSK) Date: Tue, 9 Dec 2008 17:19:08 +0300 From: Ilya Orehov To: "M. Warner Losh" Message-ID: <20081209141908.GA15845@artx.ru> References: <20081205174838.GA22652@albert.catwhisker.org> <20081205.120056.255409238.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20081205.120056.255409238.imp@bsdimp.com> User-Agent: Mutt/1.4.2.3i Cc: current@freebsd.org Subject: Re: "interrupt storm..."; seems associated with an0 NIC X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Dec 2008 14:36:36 -0000 +------- 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 @@ -689,6 +689,7 @@ 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 @@ -722,6 +723,7 @@ 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 @@ -732,7 +734,10 @@ 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@freebsd.org mailing list | http://lists.freebsd.org/mailman/listinfo/freebsd-current | To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" | +-----------------------------