Messages in this thread | | | Date | Thu, 17 Sep 2020 14:44:25 -0500 | From | Yazen Ghannam <> | Subject | Re: [PATCH v2 1/8] x86/CPU/AMD: Save NodeId on AMD-based systems |
| |
On Thu, Sep 17, 2020 at 06:40:48PM +0200, Borislav Petkov wrote: > On Thu, Sep 17, 2020 at 11:20:53AM -0500, Yazen Ghannam wrote: > > But newer systems support CPUID Leaf 0xB, so cpu_die_id will get > > explicitly set by detect_extended_topology(). The value set is > > different from the AMD NodeId. And at that point I shied away from > > doing any override or fixup. > > Well, different how? Can you extract the node_id you need > from CPUID(0xb)? If yes, we can do an AMD-specific branch in > detect_extended_topology() but that better be future proof. > > IOW, is information from CPUID(0xb) ever going to be needed in the > kernel? > > Also, and independently, if its definition do not give you the > node_id you need, then you can just as well overwrite ->cpu_die_id in > detect_extended_topology() because that value - whatever that is, could > be garbage, just as well - is wrong on AMD anyway. > > So it would be a fix for the leaf parsing, regardless of whether you > need it or not. > > Makes sense? >
Yes, I think so. "Die" is not defined in CPUID(0xb), only SMT and Core, so the cpu_die_id value is not valid. In which case, we can overwrite it. CPUID(0xb) doesn't have anything equivalent to AMD NodeId. So on systems with CPUID < 0x1F, we should be okay with using cpu_die_id equal to AMD NodeId.
I have an idea on what to do, so I'll send another rev if that's okay. Do you have any comments on the other patches in the set?
Thanks, Yazen
| |