Линус Торвальдс выступил с критикой контроля качества графических компонентов ядра Linux
В ответ на очередной набор изменений в подсистеме DRM (Direct Rendering Manager), присланный для включения в состав будущей ветки ядра 4.11, Линус Торвальдс пришел в ярость и в жесткой форме раскритиковал Дэвида Эйрли (David Airlie), мэйнтейнера подсистемы DRM, за его отношение к контролю качества присылаемых патчей. В частности, Линус пришел в недуомение как мэйнтейнер мог отправить для финального включения в новый выпуск ядра набор патчей, который непригоден для сборки и выводил ошибку компиляции.
Процесс разработки ядра построен на цепочке доверия и основной задачей мэйнтейнеров подсистем является предварительная проверка и рецензирование изменений в делегированных им областях. По словам Линуса он ожидал лучшего контроля качества, в худшем случае он ожидал хоть какого-то контроля качества, но на деле в присланных изменениях он не увидел совсем контроля качества и предложенные для компонента tinydrm изменения вообще не видели компилятора.
В частности при сборке присланного кода компилятором выводилось несколько десятков предупреждений и сборка завершалась ошибкой, изучение которой показало, что код не собирается если модуль backlight не вкомпилируется в ядро, а собирается в виде модуля (CONFIG_BACKLIGHT_CLASS_DEVICЕ=m). Более того, изменение для tinydrm было переотправлено мэйнтейнером на следующий день после получения от конечного разработчика и, судя по всему, без какого-либо тестирования.
В качестве ответных мер на подобное перебрасывание патчей без проверки в последний момент, Линус намерен ввести для DRM-подсистемы правило предварительного помещения изменений в ветку linux-next, до открытия окна приема изменений в очередной выпуск ядра. Таким образом все изменения графических драйверов должны будут вначале быть обкатаны в ветке linux-next, лишь после чего смогут войти в основной состав ядра.
То, что в ходе беглого осмотра и простейшего тестирования сборкой выявляется неработоспособность, указывает на серьезные организационные проблемы. Линус близок к принятию решения о том, чтобы не включать набор патчей DRM в ядро 4.11, чувствуя что кроме него эти патчи никто больше не тестировал. Подобный шаг приведет к тому, что в состав ядра 4.11 не войдут обновления графических драйверов i915, amdgpu, radeon и nouveau. Так как в настоящий момент приходится отклонять прием всех изменений из набора DRM ("все или ничего"), Линус намерен потребовать разбения pull-запросов DRM на более мелкие части.