Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Apr 2006 22:55:32 -0700
From:      Oliver Iberien <oliver-forward@charter.net>
To:        freebsd-questions@freebsd.org
Subject:   Re: Setting max interrupts per second (WAS printing on firefox)
Message-ID:  <200604092255.33239.oliver-forward@charter.net>
In-Reply-To: <20060408132247.1df00a38@localhost>
References:  <200604071332.57717.oliver-forward@charter.net> <20060408132247.1df00a38@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 08 April 2006 04:22, Fabian Keil wrote:
> Oliver Iberien <oliver-forward@charter.net> wrote:
> > [snip] The printer (Xerox N17, local,
> > parallel port) started cycling through waiting-processing-waiting
> > messages. Rebooting, I saw a message about an IRQ storm on the
> > printer port being "throttled". Killing the job took care of this.
> >
[snip]
>
> The default value of hw.intr_storm_threshold is easily reached
> by a printer connected through the parallel port.
>
> Have a look at: <http://www.lemis.com/grog/diary-dec2005.html#8>.
>
> Fabian

Thanks for this. Here's the relevent text from that weblog: 

>  As a result, once more harnessed my veteran HP LaserJet 6MP to echunga.
> Printing went at a snail's pace. Finally I discovered the message:
> Interrupt storm detected on "irq7: lpt0"; throttling interrupt source
>
>  It proved to be a new interrupt throttling feature in the system: the
> sysctl variable hw.intr_storm_threshold sets the maximum number of
> interrupts per second on any interrupt level. The default value is 500,
> woefully inadequate for a PostScript printer on a parallel port, which can
> generate over 100,000 interrupts a second. Fixed that: === root@echunga
> (/dev/ttyp1) ~ 130 -> sysctl hw.intr_storm_threshold  
> hw.intr_storm_threshold: 500 
> === root@echunga (/dev/ttyp1) ~ 131 -> sysctl hw.intr_storm_threshold=200000
> hw.intr_storm_threshold: 500 -> 200000 
>
>  Unfortunately, this effectively disables the interrupt storm detection
> system-wide. The values should be per interrupt.

Does anyone have any idea what an optimum number would be? 

Oliver



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604092255.33239.oliver-forward>