Re: [PATCH] i386/bigsmp: eliminate false warnings regarding logical APIC ID mismatches

From: Jan Beulich
Date: Thu Aug 18 2011 - 11:10:12 EST


>>> On 18.08.11 at 16:02, Tejun Heo <tj@xxxxxxxxxx> wrote:
> On Thu, Aug 18, 2011 at 02:58:16PM +0100, Jan Beulich wrote:
>> >>> On 18.08.11 at 15:04, Tejun Heo <tj@xxxxxxxxxx> wrote:
>> > On Thu, Aug 18, 2011 at 01:54:44PM +0100, Jan Beulich wrote:
>> >> Fix this (for the time being, i.e. until x86_32_early_logical_apicid()
>> >> will get removed again, as Tehun says ought to be possible) by
>> >> overriding the previously stored values at the point where the APIC
>> >> driver gets overridden.
>> >
>> > Hmmm... how about just removing the WARN_ON() in setup_local_APIC()?
>> > We already don't depend on the value so just overriding it isn't
>> > dangerous at all.
>>
>> I was not able to prove for myself that all of the uses of
>> early_per_cpu(x86_cpu_to_logical_apicid, ...) are actually only
>> possible to be hit after setup_local_APIC(), so I can't really
>> propose a patch like this.
>
> Hmmm... the only thing it can break is numa affinity of static percpu
> areas (it doesn't even affect that anymore), which didn't work at all
> on i386 before and keeps to not working for those exotic apic machines
> anyway. Silencing the warnings wouldn't hurt anything at all. If
> you're still concerned that something legitimate might trigger it,
> wouldn't converting WARN_ON() there to printk_once() be enough? That
> doesn't change the behavior at all sans lesser noise.

That might be reasonable to do, yet I still think that changing what got
produced with by the older APIC driver to what the new one would have
produced when the driver gets changed is more consistent than just
printing something, until the method in question is gone altogether.

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/