В ядре Linux 6.17 планируют отказаться от оптимизации под однопоточные процессоры

Новое изменение запрещает отключение опции CONFIG_SMP, которая используется для поддержки CPU с более чем одним потоком.
15 июня 2025, воскресенье 23:52
Razg0n_blog для раздела Блоги

Первый массовый CPU с более чем 1-м потоком вышел почти 23 года назад. Им стал Pentium 4 3,06 ГГц Northwood (SL6S5). А за 6 лет до этого в ядре Linux появилась опция "CONFIG_SMP", внедряющая поддержку многопроцессорных конфигураций.

Хотя свободная ОС способна различать типы многопоточностей для корректной работы планировщика задач, в случае с "CONFIG_SMP" нет разделения между 1-ядерными процессорами с HT, многоядерными процессорами и системами с двумя ЦП с любым количеством ядер.

С 2004 года в ядре Linux "CONFIG_SMP" включена по умолчанию, так как многопоточные системы получили широкое распространение. Однако у пользователей оставалась возможность отключить указанную опцию и заставить планировщик использовать только один поток даже на многоядерных CPU.

Начиная с ядра Linux 6.17, которое попадет в Ubuntu 25.10, "CONFIG_SMP" будет включена у всех на постоянной основе без возможности изменения состояния. Это имеет смысл, поскольку практически все системы, которые обновляются до актуальных ядер Linux, располагают многопоточными процессорами. Даже для встраиваемых решений отключенная "CONFIG_SMP" уже не актуальна.

Сообщается, что вносимые изменения позволят снизить сложность разработки ядер и улучшат их поддержку. И хотя однопоточные CPU будут сталкиваться с некоторыми накладными расходами, количество существующих систем с ними на 2025 год довольно незначительное.