Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Sun, 23 Feb 2003 05:11:46 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Sun, 23 Feb 2003 05:11:46 -0500 Received: from packet.digeo.com ([12.110.80.53]:28380 "EHLO packet.digeo.com") by vger.kernel.org with ESMTP id ; Sun, 23 Feb 2003 05:11:42 -0500 Date: Sun, 23 Feb 2003 02:21:48 -0800 From: Andrew Morton To: James Harper Cc: linux-kernel@vger.kernel.org Subject: Re: SMP and CPU1 not showing interrupts in /proc/interrupts Message-Id: <20030223022148.7f71398b.akpm@digeo.com> In-Reply-To: <3E589799.3000105@bigpond.com> References: <3E589799.3000105@bigpond.com> X-Mailer: Sylpheed version 0.8.9 (GTK+ 1.2.10; i586-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 23 Feb 2003 10:21:46.0372 (UTC) FILETIME=[5E649C40:01C2DB25] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1859 Lines: 44 James Harper wrote: > > somewhere between about 2.5.53 and 2.5.62 my /proc/interrupts has gone > from an approximately even distribution of interrupts between CPU0 and > CPU1 to grossly uneven: > > CPU0 CPU1 > 0: 13223321 2233217 IO-APIC-edge timer > 1: 13442 0 IO-APIC-edge i8042 > 2: 0 0 XT-PIC cascade > 3: 291874 0 IO-APIC-edge serial > 8: 3 0 IO-APIC-edge rtc > 9: 0 0 IO-APIC-edge acpi > 14: 18932 0 IO-APIC-edge ide0 > 15: 14 0 IO-APIC-edge ide1 > 16: 190607 1 IO-APIC-level eth0, nvidia > 17: 3214 0 IO-APIC-level bttv0 > 18: 14249 1 IO-APIC-level ide2 > 19: 121942 0 IO-APIC-level uhci-hcd, wlan0 > NMI: 0 0 > LOC: 15458218 15458423 > ERR: 0 > MIS: 0 > > if i really hit the system hard then CPU1 will start accruing interrupts > but in a mostly idle state CPU1 just sits on its bum and lets CPU0 > handle them all, with the exception of irq #0, for some reason. > That is a deliberate part of the new interrupt balancing code. If the interrupt rate is low, it is better to keep all the interrupt processing code and data in the cache of a single CPU. It is only if that CPU starts to run out of steam that it is worthwhile taking the hit of getting other CPUs to service interrupts as well. (I think. At least, it sounds good and the benchmarks came out well). - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/