Линус Торвальдс назвал «мерзкой» раскладку файлов sched_ext в Linux — код уже переложили по папкам
Разработчики Linux 7.2 переложили исходники sched_ext из kernel/sched в kernel/sched/ext после публичной критики Линуса Торвальдса. Объясняем, почему это важно.
Новости TprogerЛинус Торвальдс публично раскритиковал структуру новых исходников sched_ext, которые вошли в Linux 7.2: вместо отдельной директории авторы рассовали файлы с префиксом ext_ прямо в kernel/sched. Он назвал это «мерзким» и потребовал убрать — и разработчики уже переложили код в kernel/sched/ext/.
Ключевые выводы
В Linux 7.2 код расширяемого планировщика sched_ext изначально появился в виде файлов ext_arena.c, ext_cid.c, ext_types.h и других прямо в kernel/sched.
Линус Торвальдс слил изменения «под протестом», указав, что префиксы вместо директорий — это неправильный способ группировки.
Новый pull request перенёс файлы в kernel/sched/ext/; Торвальдс уже принял эту реструктуризацию.
Что случилось
На прошлой неделе в основную ветку Linux 7.2 попал основной набор изменений sched_ext — фреймворка, который позволяет реализовывать политики планирования в пользовательских программах BPF. К патчам не было претензий по функциональности, но Торвальдса возмутила организация файлов.
Вместо того чтобы создать поддиректорию kernel/sched/ext/, авторы добавили в kernel/sched несколько файлов с префиксом ext_: ext_arena.c, ext_arena.h, ext_cid.c, ext_cid.h и ext_types.h.
Please don't do this disgusting thing. There's a reason we have subdirectories: it's to group files together and separate them out. Using name prefixing instead of directories is disgusting and wrong. If you have this many random sched-ext files, it damn well should be cleaned up and not be this kind of mess. I've pulled this, but under protest. Proper hierarchical filesystems have been available since 1965.
Как исправили
В ответ разработчики отправили новый pull request, который перекладывает все sched_ext-файлы в отдельную директорию kernel/sched/ext/. Торвальдс уже принял реструктуризацию.
Почему это важно
С точки зрения пользователя разница кажется косметической, но для ядра это вопрос сопровождаемости. Иерархические директории — стандартный способ группировки связанного кода, а префиксы в общей папке быстро превращаются в беспорядок. Реакция Торвальдса подчёркивает, что даже мелкие архитектурные решения в Linux принимаются строго.
Часто задаваемые вопросы
Что такое sched_ext?
Это расширяемый фреймворк планировщика задач в Linux, который позволяет загружать политики планирования из пользовательского пространства через BPF-программы.
Какие файлы перенесли?
Файлы с префиксом ext_ — например, ext_arena.c, ext_cid.c и ext_types.h — теперь лежат в директории kernel/sched/ext/.
Когда это произошло?
Изменения вошли в подготовку Linux 7.2. Критика прозвучала 23 июня 2026 года, а реструктуризация была принята в тот же день.
Выводы
История с sched_ext — хороший пример того, как в Linux следят за чистотой кодовой базы. Технически патчи работали, но неправильная организация файлов оказалась достаточно серьёзной проблемой, чтобы Торвальдс потребовал исправлений. Теперь код лежит там, где ему положено — в отдельной директории.