Re: [PATCH] x86_64: avoid sending LOCAL_TIMER_VECTOR IPI to itself

Ray Lee
2007-03-25T19:24:24Z

Ingo Molnar wrote:
> * Ray Lee <ray-lk@madrabbit.org> wrote:
>
>> Subject: [PATCH] x86_64: avoid sending LOCAL_TIMER_VECTOR IPI to
>> itself
>>
>> Ray Lee reported, that on an UP kernel with "noapic" command line
>> option set, the box locks hard during boot.
>
> i think this bug deserves a bit more attention, because similar problems
> could be in other codepaths too.
>
> the problem here is that we tried to send an IPI to ourselves - which
> confused Ray's system which has an IO-APIC, but where due to noapic we
> keep the IO-APIC in its BIOS default.
>
> this isnt a new problem: the new time code just exposed it more
> prominently that it was visible before. (the SMP kernel probably would
> hang in a similar way on Ray's system)

Taking the hint, yes it does. (I'd never had a reason to test it before.)
Booting an SMP kernel without NOAPIC works, with NOAPIC hangs fairly early
on, implying a real fix to my problem belongs down at the arch level, I
suppose.

> i dont see any clear debugging in the IPI code that excludes self-IPIs.
> I think the only valid way to do that is to use DEST_SELF. Andi?

Ray