LINUX.ORG.RU

Почему при включении CONFIG_CPU_UNRET_ENTRY отключается половина ядер?

 , mitigations,


0

2

Включил в ядре CONFIG_CPU_UNRET_ENTRY mitigation, и половина ядер процессора отключилась. Было 4, стало 2.
В /sys/devices/system/cpu/ только cpu0 и cpu2.
ChatGPT говорит, что CONFIG_CPU_UNRET_ENTRY отключает некоторые функции процессора, и надо проверить, включены ли опции, отвечающие за работу всех ядер. Какие конкретно опции проверить, не говорит.

★★★★★

Странно, а зачем тебе chat gpt?

В документации сказано, что делает эта опция:

Дожили, уже ядро конфигурируют с чат гпт.

Неужели ты думаешь, что чат гпт осилит ядерную физику для домохозяйки?

anonymous
()
Ответ на: комментарий от anonymous

а ты чё думал аппаратные баги вообще без потерь можно закрыть магически?

т.е. это у всех так при включении этой опции половина ядер отключается?

teod0r ★★★★★
() автор топика

Возможно, параметр retbleed по умолчанию выставлен в значение «unret,nosmt», а в документации на этот счет вот что сказано:

unret,nosmt - Like unret, but will disable SMT when STIBP is not available. This is the alternative for systems which do not have STIBP.

Для твоего процессора видимо STIBP недоступен, и поэтому гипертрединг отключается.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 3)
Ответ на: комментарий от Kron4ek

Возможно, параметр retbleed по умолчанию выставлен в значение «unret,nosmt»

ну nosmt я сам прописал в cmdline.

Для твоего процессора видимо STIBP недоступен, и поэтому гипертрединг отключается.

а при чём тут гипертрединг? отключаются ядра, не потоки.
у меня проц AMD A10-5750M.
как быть?

teod0r ★★★★★
() автор топика

ChatGPT говори

Поменьше слушай бредогенератор, побольше читай документацию.

Параметр nosmt который ты добавил как раз отключает эти потоки представляемые как два логических ядра одного физического, потому и половина.

a1ba
()

Поток - это виртуальное ЯДРО процессора. ОС видит его как ядро. Когда выключаешь SMT, «ядер» становится в два раза меньше, это нормальное поведение. Ядро без SMT быстрее одного виртуального ядра, полезно при интенсивной однопоточной нагрузке, но в современных реалиях smt дает существенный прирост в производительности.

realbarmaley ★★
()
Ответ на: комментарий от teod0r

Как ты понимаешь, что у тебя отключаются ядра, а не потоки?

Я не про то как ты узнаешь спецификацию процессора по его названию.

В выводе lscpu на одном из ноутов вот так:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       36 bits physical, 48 bits virtual
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1

Здесь чётко видно конфигурацию.

Как ты проверяешь, что у тебя выключились ядра, а не потоки.

anonymous
()
Ответ на: комментарий от teod0r

AMD A10-5750M.
по спецификациям 4 ядра 8 потоков.

Где там «8 потоков»? Внимательно посмотри спецификации.

AMD стало писать smt только на zen-ах.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от teod0r

Двухмодульный.

Ты правда не видел всего этого (вокруг этих «модулей» AMD)?

AMD обвиняют в обмане с подсчетом количества ядер в процессорах Bulldozer

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)