Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932631AbcCMJf6 (ORCPT ); Sun, 13 Mar 2016 05:35:58 -0400 Received: from www.linutronix.de ([62.245.132.108]:42885 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932194AbcCMJfx (ORCPT ); Sun, 13 Mar 2016 05:35:53 -0400 Date: Sun, 13 Mar 2016 10:33:57 +0100 (CET) From: Thomas Gleixner To: Jianyu Zhan cc: mingo@redhat.com, "H. Peter Anvin" , Aravind.Gopalakrishnan@amd.com, brgerst@gmail.com, bp@suse.de, feng.wu@intel.com, jiang.liu@linux.intel.com, Tejun Heo , dvlasenk@redhat.com, penberg@cs.helsinki.fi, Yinghai Lu , andi@firstfloor.org, Andy Lutomirski , ajm@sgi.com, Yinghai Lu , Akinobu Mita , x86@kernel.org, LKML Subject: Re: [PATCH 3/3] x86/irq: update first_system_vector only when X86_LOCAL_PIC is on In-Reply-To: Message-ID: References: User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1414 Lines: 41 On Sun, 13 Mar 2016, Jianyu Zhan wrote: > On Sun, Mar 13, 2016 at 5:11 PM, Thomas Gleixner wrote: > > On Sun, 13 Mar 2016, Jianyu Zhan wrote: > >> On Sun, Mar 13, 2016 at 3:55 PM, Thomas Gleixner wrote: > >> > if LOCAL_APIC is disabled it does not use the interrupt, simply because there > >> > is no way to trigger it. That setup is inside #ifdef CONFIG_X86_LOCAL_APIC for > >> > exactly that reason. > >> > > >> > Just because IRQ_WORK has no config dependency on LOCAL APIC that does not > >> > mean it uses the interrupt gate unconditionally. > >> > > >> > >> Thanks for clarification. > >> > >> I think IRQ_WORK works as generic hardirq context callbacks, it should reply on > >> self IPI, which is a functionality provided by LOCAL_APIC, while > >> legacy PIC doesn't > >> provide this(correct?). > > > > As I said before IRQ_WORK can work w/o APIC. And therefor IRQ_WORK does NOT > > depend on APIC. > > > > End of story. Nothing to change here at all. > > If so, then it is weird, because in current code, IRQ_WORK vector init > is surrounded by > CONFIG_X86_LOCAL_APIC. And actually my patch did move it out. Sigh. Do you actaully read what I write? IRQ_WORK can work w/o APIC Emphasis on CAN. If the APIC is available it's used, if not then there is no point in setting up the gate for nothing. So why would your patch do any good? Thanks, tglx