From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750951AbWDRRdt (ORCPT ); Tue, 18 Apr 2006 13:33:49 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932181AbWDRRdt (ORCPT ); Tue, 18 Apr 2006 13:33:49 -0400 Received: from thunk.org ([69.25.196.29]:51872 "EHLO thunker.thunk.org") by vger.kernel.org with ESMTP id S1750951AbWDRRds (ORCPT ); Tue, 18 Apr 2006 13:33:48 -0400 Date: Tue, 18 Apr 2006 12:35:39 -0400 From: "Theodore Ts'o" To: Lee Revell Cc: "Martin J. Bligh" , "Robert M. Stockmann" , linux-kernel@vger.kernel.org, Randy Dunlap , Linus Torvalds , Andrew Morton , Andre Hedrick , Manfred Spraul , Alan Cox , Kamal Deen Subject: Re: irqbalance mandatory on SMP kernels? Message-ID: <20060418163539.GB10933@thunk.org> Mail-Followup-To: Theodore Ts'o , Lee Revell , "Martin J. Bligh" , "Robert M. Stockmann" , linux-kernel@vger.kernel.org, Randy Dunlap , Linus Torvalds , Andrew Morton , Andre Hedrick , Manfred Spraul , Alan Cox , Kamal Deen References: <4443A6D9.6040706@mbligh.org> <1145286094.16138.22.camel@mindpipe> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1145286094.16138.22.camel@mindpipe> User-Agent: Mutt/1.5.11+cvs20060126 X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on thunker.thunk.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 17, 2006 at 11:01:33AM -0400, Lee Revell wrote: > > There is an in-kernel IRQ balancer. Redhat just choose to turn it > > off, and do it in userspace instead. You can re-enable it if you > > compile your own kernel. > > Round-robin IRQ balancing is inefficient anyway. You'd get better cache > utilization letting one CPU take them all. IIRC, Van Jacobsen at his Linux.conf.au presentation made a pretty strong argument that irq balancing was never a good idea, describing them as a George Bush-like policy. "Ooh, interrupts are hurting one CPU --- let's hurt them **all** and trash everybody's cache!" Which brings up an interesting question --- why do we have an IRQ balancer in the kernel at all? Maybe the scheduler's load balancer should take this into account so that processes that have the misfortune of getting assigned to the wrong CPU don't get hurt too badly (or maybe if we have enough cores/CPU's we can afford to dedicate one or two CPU's to doing nothing but handling interrupts); but spreading IRQ's across all of the CPU's doesn't seem like it's ever the right answer. - Ted