Re: [PATCH] x86/mce: Schedule mce_setup() on correct CPU for CPER decoding

From: Yazen Ghannam
Date: Fri Jun 16 2023 - 10:17:03 EST


On 6/15/2023 1:54 PM, Luck, Tony wrote:
for_each_possible_cpu(cpu) {
if (cpu_data(cpu).initial_apicid == lapic_id) {
m.extcpu = cpu;

Are there any other places in the kernel where we need to find the
Linux CPU number starting from the apic id?

I briefly looked a while back when I needed this for some
debug use case and didn't find it then. But Linux changes
and maybe there are some now.

Which is a long way to say I'd like to see boot code initialize an array so the above
could just be:

m.extcpu = lapic_to_cpu[lapic_id];


So functionally the inverse of "x86_cpu_to_apicid", right? Though not per_cpu, of course.

I'll try and write this up if I don't find anything like it.

But we'd need at least a couple of use cases to justify.


Can you describe your original use case?

Thanks,
Yazen