как проверить эффективность патча preempt_rt?

Я провожу исследование, чтобы сравнить ядро ​​Linux по умолчанию с ядром, исправленным с помощью preempt_rt. Я использовал множество инструментов (stress-ng, T-Sui, CPU burn, cycletest), чтобы проверить эффективность патча. Но я вижу, что ядро ​​по умолчанию уже предоставляет метод для изменения приоритета задач на «задачу реального времени». Поэтому все стресс-тесты показывают схожий результат: мое приложение всегда выполняется как задача в реальном времени без каких-либо сильных задержек или чего-то другого удивительного ...

Я знаю некоторые различия, которые вызывает preempt_rt (например, прерывания перемещаются в контекст потока, меньше не вытесняющего кода в ядре), но как их проверить ?? Я видел, что обычные инструменты стресса показывают почти не влияет на мое приложение реального времени ... Есть ли какой-либо инструмент для выполнения своего рода "кода ядра с высоким уровнем запрета на вытеснение" или который вызывает огромное количество прерываний?


person MaMa    schedule 05.04.2020    source источник
comment
Вы всегда можете увидеть, подходят ли инструменты-планировщики для ваших целей, особенно rt-app. Вариант тестирования вашего приложения - создание искусственных прерываний с более высоким приоритетом, чем ваше приложение, и наблюдение за их влиянием с точки зрения возможности планирования и джиттера.   -  person CRM    schedule 05.04.2020
comment
@CRM Как создать искусственные прерывания?   -  person MaMa    schedule 05.04.2020
comment
В этом сообщении вы могут найти для этого разные альтернативы.   -  person CRM    schedule 05.04.2020
comment
Удалось ли вам с этим преуспеть?   -  person CRM    schedule 06.04.2020