Организация OSADL (Open Source Automation Development Lab) анонсировала выход стабильной версии модифицированного для работы в режиме реального времени Linux ядра (Realtime-Preempt, PREEMPT_RT или "-rt"), базирующегося на 2.6.31.12 версии основного ядра. Прошлая стабильная ветка проекта базировалась
на ядре 2.6.29. Ядро "-rt" используется в real-time редакциях таких
промышленных Linux дистрибутивов, как MontaVista, Red Hat и Novell. Изменения, добавленные в новой версии RT-ветки ядра:
- Реализовано полное описание типов спинлоков, которое будет включено в основное ядро 2.6.33.
- Возвращены гистограммы, отображающие задержки пробуждений.
- Добавлена гистограмма задержек таймера пробуждений.
- Исправлен некорректный формат вывода трассировки.
- Предотвращён крах ядра, если пользовательское приложение использует неправильный вызов futex.
- Улучшение производительности Read-Copy-Update функций.
- Проведена оптимизация планировщика.
- Исправлено некорректное состояние задачи в выводе трассировщика.
- Приоритет задач SCHED_FIFO теперь совместим c POSIX.
- Исправлен пропуск точек вытеснения (preemption points), при включенной трассировке.
Общие результаты стресс-тестирования новой версии RT-ядра продемонстрировали снижение задержек, по сравнению с предыдущим
RT-ядром, в среднем на 10 микросекунд. Измерения задержек проводились утилитой cyclictest, теперь поддерживающий многопроцессорные системы. Нагрузка задавалась через циклический запуск пакета hackbench,
рекуррентное отображение списка директорий на локальных и удалённых
файловых системах и одновременную компиляцию ядра Linux. На системе с
CPU Athlon XP 2000+ (32-bit) максимальные задержка составила 69
микросекунд, на системе с CPU Core 2 Duo 2.4 GHz (64-bit) - 32 и 29
микросекунд, на системе с CPU i7 3.33 GHz (32-bit) - от 33 до 47
микросекунд. Источник
|