Как выбрать между ядром Linux preempt-rt и non-preempt-rt для приложения IoT?
Я работаю над проектом IoT, для которого я должен выбрать между linux kernel 4.8 preempt-rt
или же non-preempt-rt
, Быстрый запуск теста производительности Linux RT:
cd /usr/lib/rt-tests/ptest/rt_bmark.py
который по сути работает
cyclictest -S -p 99 -q -i 100 -d 20 -l 30000
привело к следующим результатам:
- За
preempt-rt
:
6:12:51: Cyclictest completed. Actual execution time:0:01:38
Min: 3 us
Avg: 6.0 us
Max: 61 us
Max list: [12, 13, 15, 22, 22, 61]
PASS
- За
non-preempt-rt
:
5:56:42: Cyclictest completed. Actual execution time:0:01:38
Min: 3 us
Avg: 5.0 us
Max: 2025 us
Max list: [11, 16, 22, 46, 207, 2025]
PASS
Результаты явно соблазнили меня использовать prempt-rt
Ядро, поскольку есть огромная разница в максимальной задержке между ними.
Я хотел знать, является ли это достаточным критерием для выбора между двумя? Заранее спасибо!