Новость: Linux RT-2.6.12-rc6-V0.7.47-25
(Категория: Linux)
Добавил Roman I Khimov
Вторник, 07 Июнь 2005, 17:40
Инго Молнар (Ingo Molnar) обновил свой патч реального времени для Linux. Помимо различных исправлений, патч пополнился двумя новыми возможностями.
Первая (CONFIG_DEBUG_RT_LOCKING_MODE) добавляет новый флаг /proc/sys/kernel/preempt_locks, полезный для отладки и профилировки. Он позволяет на ходу переключать вытесняемость блокировок в ядре - при нулевом значении (по умолчанию) все спинлоки и rw-блокировки работают так же, как в обычном ядре (вытеснение невозможно, латентность выше, но общая скорость работы выше); соответственно, при установке 1, возможность вытеснения возвращается на место. Единственное замечание - такое переключение на самом деле возможно только во время простоя системы, поэтому, вполне вероятно, что новое значение не будет применено моментально, если вы собираетесь использовать эту возможность из скрипта, поставьте рядом "sleep 1", чтобы дальнейшая работа точно шла в желаемом режиме.
Еще одно новшество напрямую касается производительности. Отложенное вытеснение ("delayed preemption") превращаяет синхронизированные сигналы wakeup в гарантированные wakeup, в то же время, сохраняя их свойства группировки задач. Для этого используется флаг TIF_NEED_RESCHED_DELAYED, вместо незамедлительного вытеснения, флага TIF_NEED_RESCHED. Инго отмечает, что если это изменение пойдет хорошо, то его вполне можно будет также интегрировать в официальную ветку. А сейчас отложенное вытеснение дало хорошую прибавку в тесте hackbench при использовании PREEMPT_RT.
К оригинальной версии -20 последовало два патча, один из которых исправил ошибку компиляции, так что Инго уже выложил обновленный патч версии -25. Скачать его можно здесь (618 КБ).
Добавлю немного от себя - это один из самых интересных на сегодня патчей к Linux. Инго удалось добиться отличного мягкого реального времени от Linux (худшие показатели латентности при самых жестких нагрузках не выходят за пределы 10 мкс), а это бОльшая часть сегодняшних задач реального времени.
Источник этой новости Центр информации по операционным системам
( http://www.osrc.info/news.php?extend.2542 )