Представлена ветка ядра linus-next для тестирования в режиме непрерывной интеграции
Саша Левин (Sasha Levin) из компании Google, занимающийся сопровождением LTS-веток ядра Linux и входящий в консультативный совет организации Linux Foundation, объявил о создании новой ветки ядра Linux — «linus-next», которая по аналогии с веткой «linux-next» предназначена для тестирования изменений, предлагаемых для включения в основной состав будущей ветки ядра Linux, но отличается ориентацией на изменения, готовые для принятия в основную ветку, и предоставлением более стабильной и пригодной для тестирования базы.
До этого используемая ветка «linux-next» отлично подходит для проверки интеграции изменений в ядро, оценки наличия конфликтов между подветками разных сопровождающих и выявления связанных со сборкой ошибок и предупреждений, но её проблематично использовать для тестирования работы вносимых изменений. Ветка «linux-next» включает в себя смесь готовых для переноса в основной состав ядра изменений и экспериментальных дополнений, которые ещё долго могут дорабатываться и, возможно, так и не будут приняты в основную ветку ядра.
Наличие нестабильного экспериментального кода не позволяет использовать ядро «linux-next» для полноценного рабочего тестирования, так как экспериментальный код может негативно влиять на остальные подсистемы ядра. В новой ветке «linus-next» критерии принятия изменений будут строже — в состав будут включаться только адресованные Линусу Торвальдсу pull-запросы, которые по предположению разработчиков Линус примет в основную ветку ядра.
Появление ветки «linus-next» даст возможность не только тестировать сочетаемость предлагаемых изменений на уровне сбороки ядра, но и оценить непосредственно работу, что приведёт к повышению качества тестирования изменений на этапе рассмотрения уже отправленного, но ещё не рассмотренного Линусом, pull-запроса. Новая ветка также будет стимулировать отправку pull-запросов как можно раньше, ещё до начала окна приёма изменений, чтобы дать возможность протестировать их в работе. Кроме того, ветка «linus-next» будет развиваться в соответствии с моделью непрерывной интеграции, а не ежедневного обновления с созданием нового тега, что упростит анализ возникающих проблем и выявление конкретных изменений, вызвавших сбой.
Дополнительно можно отметить недовольство Линуса Торвальдса процессом блокирования на уровне ядра уязвимостей в аппаратном обеспечении, высказанное в ходе обсуждения проблем и регрессий в коде для противодействия атакам, использующим уязвимости в механизме спекулятивного выполнения инструкций в CPU. Изменения, необходимые для блокировки аппаратных уязвимостей, усложняют разработку, приводят к появлению регрессий и негативно сказываются на производительности, при том, что атаки с использованием большинства подобных уязвимостей являются сугубо теоретическими и никогда не применяются на практике, вне лабораторных условий.
Рассматривая предложение изменить ядро для обхода потенциальных проблем при противодействии аппаратным уязвимостям Линус предложил возложить ответственность на производителей оборудования, как на виновников появления аппаратных уязвимостей, и дать понять, что им следует самим решать собственные проблемы. Обсуждаемое изменение предлагалось добавить в качестве перестраховки, так как из-за неопределённости поведения CPU защита потенциально могла перестать работать на некоторых новых CPU Intel.
Источник: http://www.opennet.ru/opennews/art.shtml? num=62086
© OpenNet