BAD APICID ?

Dave Jones
2011-11-07T17:39:54Z

We got a report from a Fedora user hitting a WARN_ON in the apic setup code.

Here..

1230 #ifdef CONFIG_X86_32
1231 /*
1232 * APIC LDR is initialized. If logical_apicid mapping was
1233 * initialized during get_smp_config(), make sure it matches the
1234 * actual value.
1235 */
1236 i = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
1237 WARN_ON(i != BAD_APICID && i != logical_smp_processor_id());
1238 /* always use the value from LDR */
1239 early_per_cpu(x86_cpu_to_logical_apicid, cpu) =
1240 logical_smp_processor_id();

The full report is at https://bugzilla.redhat.com/show_bug.cgi?id=743930

Report is against our 3.0 builds, but that code look unchanged in 3.1 too,
and even in current Linus head.

Any thoughts on what could cause this ?

Dave