В OpenBSD добавлен код программного отключения SMT (HyperThreading)
Как сообщает opennet.ru вскоре после заявления Тео де Раадта о подозрении на наличие аппаратной уязвимости, связанной с реализацией в них технологии одновременной многопоточности (simultaneous multithreading), более известной под названием HyperThreading, в OpenBSD был разработан патч, позволяющий де-факто отключить SMT на уровне ОС. Изначально проблема состоит в том, что в немалом количестве современных системных прошивок (BIOS/EFI), в первую очередь - в ноутбуках, отсутствует опция для отключения SMT в принципе.
Патч добавляет новый булевый sysctl-интерфейс "hw.smt", изначально выставляемый в 0 ("отключено"). В этом режиме планировщик потоков выполнения следит, чтобы на двух виртуальных ядрах не запускалось одновременно два работающих потока выполнения. При переключении в 1 ("включено") планировщик начинает допускать одновременную загрузку работой обоих виртуальных ядер.
Данный патч рассматривается как разумный компромисс между полным отключением SMP/SMT и игнорированием доступной информации об уязвимости. Так как ряд других ОС (как минимум, DragonFly BSD), судя по всему, также не обладает информацией о грядущих анонсах от Intel, стоит ожидать включения аналогичных патчей и для них тоже.
Стоит отметить, что несмотря на то, что в одних задачах использование SMT может увеличить производительность CPU на 30%, в других может даже снизить.