Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932500AbXBWSML (ORCPT ); Fri, 23 Feb 2007 13:12:11 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932501AbXBWSMK (ORCPT ); Fri, 23 Feb 2007 13:12:10 -0500 Received: from ebiederm.dsl.xmission.com ([166.70.28.69]:54971 "EHLO ebiederm.dsl.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932500AbXBWSMI (ORCPT ); Fri, 23 Feb 2007 13:12:08 -0500 From: ebiederm@xmission.com (Eric W. Biederman) To: "Jeff V. Merkey" Cc: linux-kernel@vger.kernel.org, Zwane Mwaikambo , Ashok Raj , Ingo Molnar , Andrew Morton , "Lu, Yinghai" , Natalie Protasevich , Andi Kleen , "Siddha, Suresh B" , Linus Torvalds Subject: Re: Conclusions from my investigation about ioapic programming References: <200701221116.13154.luigi.genoni@pirelli.com> <200702021848.55921.luigi.genoni@pirelli.com> <200702021905.39922.luigi.genoni@pirelli.com> <20070206073616.GA15016@elte.hu> <20070206222523.GA11602@elte.hu> <45DF1ADD.9000600@wolfmountaingroup.com> Date: Fri, 23 Feb 2007 11:10:39 -0700 In-Reply-To: <45DF1ADD.9000600@wolfmountaingroup.com> (Jeff V. Merkey's message of "Fri, 23 Feb 2007 09:48:29 -0700") Message-ID: User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1318 Lines: 38 "Jeff V. Merkey" writes: > In my older days of programmin 82489DX chipsets (which the AMD APIC versions > resemble > the 82489DX more closely than intel's newer incarnations), you had to EOI the > apic early if you > wanted to migrate interrupt assignments. I had to do the following steps to move > an IRQ: > > 1. Mask the LOCAL APIC > 2, EOI the interrupt > 3. Leave the interrupt entry masked until the ISR completed. > 4. Reprogram the interrupt. > 5. Unmask as the ISR exits > > In other words, EOI early in all cases to clear the local and IOAPIC state. Thanks. That is the essence of what I am doing with level triggered interrupts. - Mask - ACK - Reprogram - Unmask. Which essentially comes from the definition of how level triggered interrupts operate in the ioapics. Having to run the EOI before the ISR routine runs or having to keep the ISR masked while the ISR runs isn't something that I have encountered. And if it was a problem there is enough volume I expect someone would have gotten a bug report about it by now. Eric - 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/