Re: [PATCH 3/3] x86/irq: update first_system_vector only when X86_LOCAL_PIC is on

From: Jianyu Zhan
Date: Sun Mar 13 2016 - 05:30:09 EST


On Sun, Mar 13, 2016 at 5:11 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Sun, 13 Mar 2016, Jianyu Zhan wrote:
>> On Sun, Mar 13, 2016 at 3:55 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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