On Sun, Mar 13, 2016 at 5:11 PM, Thomas Gleixner <[email protected]> wrote: > On Sun, 13 Mar 2016, Jianyu Zhan wrote: >> On Sun, Mar 13, 2016 at 3:55 PM, Thomas Gleixner <[email protected]> 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. After all, thanks for all the clarifications :-). Regards, Jianyu Zhan

