Messages in this thread | | | Date | Mon, 17 Oct 2011 08:23:04 +0100 | From | "Jan Beulich" <> | Subject | Re: WARNING: at arch/x86/kernel/apic/apic.c:1239 setup_local_APIC+... |
| |
>>> On 14.10.11 at 19:55, Tejun Heo <tj@kernel.org> wrote: > Hello, > > (cc'ing Jan Beulich) > > On Fri, Oct 14, 2011 at 06:56:04PM +0200, Borislav Petkov wrote: >> On Fri, Oct 14, 2011 at 09:55:16AM -0400, Borislav Petkov wrote: >> > So, in the end, and AFAICR, the warning triggers because we're comparing >> > logical APIC IDs from the APIC Logical Destination Register (0xD0) which >> > have been assigned by BIOS with "1 << cpu" shifted values which wrap on >> > 32-bit. >> > >> > I'd very much like to know why? >> >> Update: upon a second thought, we think we know why: The WARN_ON >> cannot stomach the switch to bigsmp apic because, on the one hand, >> bigsmp_init_apic_ldr() "normalizes" the APIC ids by using the BIOS >> values (x86_bios_cpu_apicid) but OTOH, x86_cpu_to_logical_apicid >> contains the early percpu value which got assigned by the default apic, >> i.e. the shifting thing as it is spec'ed for the LDR register. >> >> So, the way we see it, the WARN_ON should know whether we switched apics >> or should be removed completely. Btw, why was it added in the first >> place, the commit message doesn't quite explain why. > > Jan hit similar problem a while back. > > http://thread.gmane.org/gmane.linux.kernel/1180954 > > I can't seem to find the patch in mainline.
Ingo let me know at the end of September that v2 got applied to -tip; at that point, I took it that it would make only 3.2 (and perhaps then earlier ones via -stable).
Jan
| |