Анонсирована стабильная версия real-time ветки Linux ядра - 2.6.34-rt


Метки: | |
Просмотров: 2038

Анонсирован выпуск стабильной версии модифицированного "Realtime-Preempt" (PREEMPT_RT или "-rt") Linux ядра 2.6.34.8-rt (прошлая стабильная ветка была основана на ядре 2.6.33). Ядро "-rt" с реализацией жёсткого режима реального времени используется в real-time редакциях промышленных Linux-дистрибутивов MontaVista, Red Hat и Novell.

В настоящее время в ветке PREEMPT_RT насчитывается около 500 дополнительных патчей, накладываемых поверх основного Linux-ядра. Между версиями основного ядра 2.6.33 и 2.6.34 было внесено более 10 тысяч коммитов. Т.е. в процессе миграции от базового ядра 2.6.33-rt к версии 2.6.34-rt может возникнуть около 5 миллионов комбинаций, где что-то может пойти не так. Для решения задачи обновления базовой версии RT-ядра был применен интересный подход - 10 тыс. коммитов было разбито на 400 групп, примерно по 25 патчей в каждом. Далее для ветки 2.6.33, проводилось инкрементальное наложение очередной группы патчей с последующим тестированием применимости 500 RT-патчей и разрешением возникающих рассогласований.

Справившись с задачей адаптации RT-патчей для нового ядра и протестировав процесс сборки на разных платформах, осталась нерешенной задача выявления источника логических проблем, например, когда требуется определить из-за чего возник, ранее не проявляющийся сбой в работе ядра. На основании используемых в процессе портирования групп патчей было подготовлено около 400 рабочих контрольных сборок, созданных на разных стадиях применения RT-патчей к ядру. Подобные контрольные сборки могут использоваться для упрощения выявления источника возникновения регрессивных проблем, которые обнаружены в ядре 2.6.34-rt и которые не проявляются в 2.6.33-rt.

Используя тестовую инфраструктуру организации OSADL (Open Source Automation Development Lab), развивающий решения на базе Linux для промышленной встраиваемой техники, разработчики могут последовательно обыграть ситуацию возникновения проблемы для всей цепочки контрольных сборок и выявить позицию в которой начала проявляться проблема. Кроме того, сборки были протестированы на широком спектре различных аппаратных платформ (x86, x86-64, ppc, arm) в приближенных к реальным условиях, что позволило выявить многие ошибки и регрессивные изменения на ранней стадии.

Дополнительно можно отметить продолжение работы по интеграции RT-патчей в основную ветку ядра. От версии к версии число RT-патчей уменьшается. Работа по интеграции всех наработок проекта PREEMPT_RT в основное ядро при удачном стечении обстоятельств может быть завершена уже в конце этого или начале следующего года. Используя вышеописанный метод инкрементального слияния патчей, на переход от версии 2.6.33 к 2.6.34 потребовалось около двух месяцев. Таким образом, для доведения RT-патчей до поддержки ядра 2.6.38 остается обеспечить подготовку четырех промежуточных выпусков, что при сохранении темпа работы потребует 8 месяцев.


  • Комментариев: 0

  • Вконтакте

  • Facebook:

    Оставьте комментарий!

    grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

    Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

    Имя и сайт используются только при регистрации

    Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

    Авторизация 

    MaxSiteAuth.

    (обязательно)