From owner-freebsd-stable@FreeBSD.ORG Tue Jun 3 14:52:33 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83CF6106564A; Tue, 3 Jun 2008 14:52:33 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 086988FC20; Tue, 3 Jun 2008 14:52:32 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m53Eq8ZV073301; Tue, 3 Jun 2008 10:52:26 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-stable@freebsd.org Date: Tue, 3 Jun 2008 10:21:35 -0400 User-Agent: KMail/1.9.7 References: <20080603070840.GH1028@server.vk2pj.dyndns.org> In-Reply-To: <20080603070840.GH1028@server.vk2pj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200806031021.35416.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Tue, 03 Jun 2008 10:52:26 -0400 (EDT) X-Virus-Scanned: ClamAV 0.91.2/7340/Tue Jun 3 08:03:22 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Peter Jeremy , stable@freebsd.org Subject: Re: Interrupt storm with shared interrupt on digi(4) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jun 2008 14:52:33 -0000 On Tuesday 03 June 2008 03:08:40 am Peter Jeremy wrote: > I have an on-going problem with DigiBoard Xem boards causing interrupt > storms (since 4.x days). The FreeBSD driver polls the board and > doesn't have a functional interrupt handler (and Linux behaves in the > same way). It seems that under some conditions, the board will assert > its interrupt line and, since there's no interrupt handler to clear > whatever triggered the interrupt, the IRQ is never unasserted. > > In the past, I have managed to avoid the problem by putting the Digi > card on a dedicated interrupt. For reasons I don't understand, this > appears to mask the problem. That is because we leave interrupts masked until it gets an interrupt handler. Since digi(4) doesn't register a handler, we leave the interrupt masked unless some other device is sharing the same interrupt and registers a handler. > Unfortunately, I now have a system where, courtesy of Compaq's > incompetence, I have no way to avoid having two Digi boards sharing an > interrupt. In 7.x, as soon as I load digi.ko, I get "interrupt storm" > messages. In 6.x, I could see the interrupt storm but it didn't > flood my console with messages. > > Does anyone have a patch that will generate an appropriate EOI to > a DigiBoard? No. Even better would be if there was a way to disable interrupt generation in the digi(4) driver via some register. > Alternatively, can anyone suggest how I can disable or mask a specified > PCI interrupt? The problem is that in this case you have another driver that is using that interrupt, so if you completely mask the interrupt the other driver will stop getting interrupts and likely stop working. -- John Baldwin