From owner-cvs-all@FreeBSD.ORG Wed May 2 16:22:40 2007 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 94D6F16A408 for ; Wed, 2 May 2007 16:22:40 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 76EB513C480 for ; Wed, 2 May 2007 16:22:40 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 95603 invoked from network); 2 May 2007 16:22:40 -0000 Received: from ppp-71-139-7-60.dsl.snfc21.pacbell.net (HELO ?10.0.0.235?) (nate-mail@71.139.7.60) by root.org with ESMTPA; 2 May 2007 16:22:40 -0000 Message-ID: <4638BAC9.7000603@root.org> Date: Wed, 02 May 2007 09:22:33 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.0 (X11/20070424) MIME-Version: 1.0 To: John Baldwin References: <200705020615.l426FDo7015874@repoman.freebsd.org> <20070502070707.GA68774@hub.freebsd.org> <200705021056.34887.jhb@freebsd.org> In-Reply-To: <200705021056.34887.jhb@freebsd.org> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: cvs-src@freebsd.org, Darren Reed , src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/kern kern_intr.c src/sys/sys interrupt.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 May 2007 16:22:40 -0000 John Baldwin wrote: > On Wednesday 02 May 2007 03:07:07 am Darren Reed wrote: >> On Wed, May 02, 2007 at 06:15:13AM +0000, Nate Lawson wrote: >>> njl 2007-05-02 06:15:13 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: (Branch: RELENG_6) >>> sys/kern kern_intr.c >>> sys/sys interrupt.h >>> Log: >>> MFC: rate-check the interrupt storm message and bump the counter 500 -> > 1000 >> Is this number, "500" or "1000" somehow "magical" for modern hardware? >> >> If I had a 500MHZ, 1GHz, 1.5GHz, 2GHz, 2.5GHz machines, each with the >> appropriate architecture, what would the correct value for this be? >> Is i always 1000 or should it be calculated? > > It's a SWAG and tunable for machines where it doesn't work. In practice the > old setting seemed to be a bit too trigger-happy as I know my printer always > triggered it, for example. > There's more to it than just your Ghz number. It's a counter of the number of times an interrupt has triggered while the previous one was being serviced. The faster your kernel, the lower the number could be. I have a slow early SMP Celeron system with a dc(4) adapter with 4 ports sharing an irq with my ata. At 3 am, the nightly script kicks off enough IO that it triggers a bug in my dc(4) card that causes it to mask the interrupt too long. Then, the irq storm suppression logic kicked in, causing ata to timeout the request. The drive is on a mirror so I'd lose half the mirror, then rebuild in the morning. With this value bumped, I don't have that problem any more but the real issue is why dc(4) is being so quirky under heavy shared irq load. -- Nate