Strona 1 z 1

[+]problem z obsługą SMT w kernelu

: 01 września 2024, 14:32
autor: sfinx23
Cześć,
Mam debiana testinga działajacego na ThinkPad T530 z 4-core CPU i najnowszym dostępnym BIOS-em:

Kod: Zaznacz cały

Type: Laptop System: LENOVO product: 23943M3 v: ThinkPad T530
BIOS  v: G4ETB7WW (2.77 ) date: 09/09/2019
CPU:
  Info: dual core model: Intel Core i7-3520M bits: 64 type: MT MCP cache: L2: 512 KiB
  Speed (MHz): avg: 1307 min/max: 1200/3600 cores: 1: 1200 2: 1200 3: 1628 4: 1200
Do niedawna wszystko działało poprawnie. SMT było dostępne i działały wszystkie core-y CPU.
Aktualnie dla najnowszych kerneli (6.9, 6.10) SMT jest blokowane i po uruchomieniu systemu dostępny jest tylko 1 rdzeń.
Powoduje to oczywiście totalne spowolnienie działania.
Ustawienie w grub parametru kernela:

Kod: Zaznacz cały

mitigations=off
nic nie pomaga.
Cały wpis w grub.cfg wygląda tak:

Kod: Zaznacz cały

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 noapic usbcore.autosuspend=-1 mitigations=off"
Dla starszego jądra 6.1.0.22 zainstalowanego z repo debian stable wszystko działa poprawnie.
Może ktoś już się spotkał z podobnym problemem?

=============================
kernel 6.1.0-22
=============================

# lscpu|grep -iE "CPU|SMT"

CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
On-line CPU(s) list: 0-3
Model name: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
BIOS Model name: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz None CPU @ 2.9GHz
BIOS CPU family: 198
CPU family: 6
CPU(s) scaling MHz: 33%
CPU max MHz: 3600.0000
CPU min MHz: 1200.0000
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
NUMA node0 CPU(s): 0-3
Vulnerability Mds: Vulnerable; SMT vulnerable


=============================
kernel 6.10.6
=============================

# lscpu|grep -iE "CPU|SMT"

CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
On-line CPU(s) list: 0
Model name: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
BIOS Model name: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz None CPU @ 2.9GHz
BIOS CPU family: 198
CPU family: 6
CPU(s) scaling MHz: 54%
CPU max MHz: 3600.0000
CPU min MHz: 1200.0000
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts vnmi md_clear flush_l1d
NUMA node0 CPU(s): 0
Vulnerability L1tf: Mitigation; PTE Inversion; VMX vulnerable, SMT disabled
Vulnerability Mds: Vulnerable; SMT disabled

Re: problem z obsługą SMT w kernelu

: 02 września 2024, 07:23
autor: dedito
Pobaw się parametrami startowymi dotyczącymi konkretnej podatności.
https://www.kernel.org/doc/html/latest/ ... /l1tf.html
https://www.kernel.org/doc/html/latest/ ... n/mds.html

Re: problem z obsługą SMT w kernelu

: 02 września 2024, 19:25
autor: sfinx23
Znalazłem rozwiązanie.
Bezpośrednim winowajcą okazał sie paramet noapic.
Pomogła zmiana na intremap=off.
Podpowiedź znaleziona tutaj:
https://bugs.launchpad.net/ubuntu/+sour ... ug/1808418

Tak więc działający wpis w /etc/default/grub wygląda następująco:

Kod: Zaznacz cały

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intremap=off usbcore.autosuspend=-1"

Re: problem z obsługą SMT w kernelu

: 03 września 2024, 06:00
autor: dedito
Co prawda nie widzę w tym rozwiązaniu jakiegoś związku z problemem, ale ok oznaczam jako rozwiązany i zamykam.