«Отвратительный» исходный исходник Linux sched_ext изменили после жалобы Торвальдса

2 мин
«Отвратительный» исходный исходник Linux sched_ext изменили после жалобы Торвальдса

На прошлой неделе в Linux 7.2 были объединены основные изменения в sched_ext, в том числе продолжение работы над поддержкой подпланировщиков. Линус Торвальдс назвал исходник «отвратительным», и теперь в него внесли исправления.

Сам он не возражал против каких-либо функций, над которыми ведётся работа для расширяемой структуры планировщика, основанной на программах BPF пользовательского пространства. Однако Торвальдс был разочарован структурой новых исходных файлов C и заметил: «Пожалуйста, не делайте так отвратительно... правильные иерархические файловые системы существуют с 1965 года».

Ему не понравилось в запросе на слияние sched_ext на прошлой неделе то, что некоторое количество новых файлов кода C и заголовочных файлов с префиксом ext_ были созданы в kernel//sched вместо того, чтобы просто создать новый подкаталог kernel/sched, в частности kernel/sched/ext/. Это позволило бы избежать добавления префиксов ко многим отдельным файлам.

Торвальдс объединил исходник, но оставил комментарий:

> create mode 100644 kernel/sched/ext_arena.c

> create mode 100644 kernel/sched/ext_arena.h

> create mode 100644 kernel/sched/ext_cid.c

> create mode 100644 kernel/sched/ext_cid.h

> create mode 100644 kernel/sched/ext_types.h

Пожалуйста, не делайте этого отвратительно. Подкаталоги существуют не просто так: они позволяют группировать файлы и разделять их.

Использование префиксов имён вместо каталогов — это отвратительно и неправильно. Если у вас так много случайных файлов sched-ext, их нужно обязательно почистить, а не устраивать такой беспорядок.

Я это удалил, но столкнулся с протестом. Правильные иерархические файловые системы существуют с 1965 года.

Теперь был отправлен новый pull request, направленный на реорганизацию исходного кода sched_ext с использованием kernel/sched/ext/. Торвальдс уже объединил исходник для реструктуризации файлов sched_ext.

В 2024 году Торвальдс обозвал %^!@$% свежий код Intel Xe для DRM (Direct Rendering Manager) в Linux 6.8. Он сам исправил его огрехи и призвал сторонних разработчиков и мейнтейнеров проекта тестировать, тестировать и ещё раз тестировать свои патчи.

В 2025 году Торвальдс раскритиковал код тестирования hdrtest, который собирается как часть полной сборки ядра, а равным образом оставляет после себя гадости (turds). Он заявил, что этот исходник «должен умереть» (needs to die), по крайней мере, с точки зрения разработчиков драйверов без DRM.

Тогда на его высказывание ответила инженер по программному обеспечению Intel Яни Никула: «Скройте все отвратительные гадости в подкаталогах .hdrtest в build tree и поместите дополнительные проверки build‑time для drm за опцию kconfig».

Поделиться

TelegramVK