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

24.02.2010 16:10

Организация 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 микросекунд.