Re: [patch 02/53] x86/cpu/topology: Make the APIC mismatch warnings complete

Arjan van de Ven
2023-08-07T14:28:54Z

On 8/7/2023 6:52 AM, T
>
> --- a/arch/x86/kernel/cpu/topology_common.c
> +++ b/arch/x86/kernel/cpu/topology_common.c
> @@ -176,6 +176,16 @@ void cpu_parse_topology(struct cpuinfo_x
>
> parse_topology(&tscan, false);
>
> + if (c->topo.initial_apicid != c->topo.apicid) {
> + pr_err(FW_BUG "CPU%4u: APIC ID mismatch. CPUID: 0x%04x APIC: 0x%04x\n",
> + cpu, c->topo.initial_apicid, c->topo.apicid);
> + }
> +
> + if (c->topo.apicid != cpuid_to_apicid[cpu]) {
> + pr_err(FW_BUG "CPU%4u: APIC ID mismatch. Firmware: 0x%04x APIC: 0x%04x\n",
> + cpu, cpuid_to_apicid[cpu], c->topo.apicid);
> + }
> +

while these messages are basically the same as current ones they are short one key thing for the user
... which one of the two will be used. Yes one can look up in the source code where the message comes from
and reverse engineer that... or we can just add this to these pr_err() messages

like

pr_err(FW_BUG "CPU%4u: APIC ID mismatch. CPUID: 0x%04x APIC: 0x%04x. APIC value will be used.\n",
cpu, c->topo.initial_apicid, c->topo.apicid);

> for (dom = TOPO_SMT_DOMAIN; dom < TOPO_MAX_DOMAIN; dom++) {
> if (tscan.dom_shifts[dom] == x86_topo_system.dom_shifts[dom])
> continue;
>