Hey Thomas,
On 24/05/27 07:17pm, Thomas Gleixner wrote:
Tim!
On Mon, May 27 2024 at 18:36, Tim Teichmann wrote:
Right here is the output of the Basic Leafs : ================ 0x00000000: EAX=0x0000000d, EBX=0x68747541, ECX=0x444d4163, EDX=0x69746e65 0x00000001: EAX=0x00600f20, EBX=0x00080800, ECX=0x3e98320b, EDX=0x178bfbff 0x00000005: EAX=0x00000040, EBX=0x00000040, ECX=0x00000003, EDX=0x00000000 0x00000006: EAX=0x00000000, EBX=0x00000000, ECX=0x00000001, EDX=0x00000000 0x00000007: subleafs: 0: EAX=0x00000000, EBX=0x00000008, ECX=0x00000000, EDX=0x00000000 0x0000000d: subleafs: 0: EAX=0x00000007, EBX=0x00000340, ECX=0x000003c0, EDX=0x40000000 2: EAX=0x00000100, EBX=0x00000240, ECX=0x00000000, EDX=0x00000000 Extended Leafs : ================ 0x80000000: EAX=0x8000001e, EBX=0x68747541, ECX=0x444d4163, EDX=0x69746e65 0x80000001: EAX=0x00600f20, EBX=0x10000000, ECX=0x01eb3fff, EDX=0x2fd3fbff 0x80000002: EAX=0x20444d41, EBX=0x74285846, ECX=0x382d296d, EDX=0x20303033 0x80000003: EAX=0x68676945, EBX=0x6f432d74, ECX=0x50206572, EDX=0x65636f72 0x80000004: EAX=0x726f7373, EBX=0x20202020, ECX=0x20202020, EDX=0x00202020 0x80000005: EAX=0xff40ff18, EBX=0xff40ff30, ECX=0x10040140, EDX=0x40020140 0x80000006: EAX=0x64006400, EBX=0x64004200, ECX=0x08008140, EDX=0x0040c140 0x80000007: EAX=0x00000000, EBX=0x00000000, ECX=0x00000000, EDX=0x000007d9 0x80000008: EAX=0x00003030, EBX=0x00001000, ECX=0x00004007, EDX=0x00000000 0x8000000a: EAX=0x00000001, EBX=0x00010000, ECX=0x00000000, EDX=0x00001cff 0x80000019: EAX=0xf040f018, EBX=0x64006400, ECX=0x00000000, EDX=0x00000000 0x8000001a: EAX=0x00000003, EBX=0x00000000, ECX=0x00000000, EDX=0x00000000 0x8000001b: EAX=0x000000ff, EBX=0x00000000, ECX=0x00000000, EDX=0x00000000 0x8000001c: EAX=0x00000000, EBX=0x80032013, ECX=0x00010200, EDX=0x8000000f 0x8000001d: subleafs: 0: EAX=0x00000121, EBX=0x00c0003f, ECX=0x0000003f, EDX=0x00000000 1: EAX=0x00004122, EBX=0x0040003f, ECX=0x000001ff, EDX=0x00000000 2: EAX=0x00004143, EBX=0x03c0003f, ECX=0x000007ff, EDX=0x00000001 3: EAX=0x0001c163, EBX=0x0fc0003f, ECX=0x000007ff, EDX=0x00000001 0x8000001e: EAX=0x00000000, EBX=0x00000100, ECX=0x00000000, EDX=0x00000000
Duh. 0x8000001e claims that there are two SMT threads. The original code only evaluates that part for family >= 0x17. I missed to forward that condition.
Fix below.
Thanks,
tglx
diff --git a/arch/x86/kernel/cpu/topology_amd.c b/arch/x86/kernel/cpu/topology_amd.c index d419deed6a48..ebf1cefb1cb2 100644 --- a/arch/x86/kernel/cpu/topology_amd.c +++ b/arch/x86/kernel/cpu/topology_amd.c @@ -84,9 +84,9 @@ static bool parse_8000_001e(struct topo_scan *tscan, bool has_topoext) /* * If leaf 0xb is available, then the domain shifts are set
* already and nothing to do here.
*/* already and nothing to do here. Only valid for family >= 0x17.
- if (!has_topoext) {
- if (!has_topoext && c->x86 >= 0x17) { /*
- Leaf 0x80000008 set the CORE domain shift already.
- Update the SMT domain, but do not propagate it.
I've just tested the fix you've provided in the previous email. The exact patches are attached to the ticket in the archlinux bugtracker[0].
The error regarding CPU scheduling disappeared for both kernel verions[0]. However, the ATA bus error still occurs.
Also, I suppose that the ATA bus error is the same as the previous one, because the only value that changes in the exception message is SAct.
This is the message of the ATA error before the patch:
May 23 23:36:49 archlinux kernel: smpboot: x86: Booting SMP configuration: May 23 23:36:49 archlinux kernel: .... node #0, CPUs: #2 #4 #6 May 23 23:36:49 archlinux kernel: __common_interrupt: 2.55 No irq handler for vector May 23 23:36:49 archlinux kernel: __common_interrupt: 4.55 No irq handler for vector May 23 23:36:49 archlinux kernel: __common_interrupt: 6.55 No irq handler for vector
ATA stuff:
May 23 23:36:59 archlinux kernel: ata2.00: exception Emask 0x10 SAct 0x1fffe000 SErr 0x40d0002 action 0xe frozen
That's probably just the fallout of the above.
And that's the message after the patch:
[ 4.877584] ata2.00: exception Emask 0x10 SAct 0x80000000 SErr 0x40d0002 action 0xe frozen
The full dmesg outputs are in the attachments.
Thank you, Tim
[0]: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/56#...