MX_Master писал(а):Ну чё там? Плохие результаты тестов или хорошие?
Пословица: "На каждого мудреца довольно простоты" в моём случае сработала.
Измерения проводил не коректно и в коде cyclictest от xenomai что то считалось не так, поэтому результаты измерений были странными.
С последними обновами они это поправили и все встало на свои места.
Возможности и варианты для РТ задачи:
Из пространства пользователя с высоким приоритетом.
Из пространства ядра Linux
Работа на CPU общего пользования.
Работа на выделенном CPU
Результаты последних тестов:
Плата - Orange PI PC2,
CPU: H5
root / --> USB_SSD
Выделил 3 и 4 процессор для РТ, а 1 и 2 отдал под общие задачи.
В параметрах загрузки ядра присутствует ( isolcpus=2,3 ).

- cyclictest из пространства пользователя в среде Х11 + firefox + видео в браузере

- cyclictest в консоли без нагрузки из пространства пользователя
У xenomai имеется своя утилита, которую можно запускать,
как в пространстве пользователя, так и в пространстве ядра Linux.
Показываю итоговые результаты
в пространстве ядра Linux. Без графиков.
Под нагрузкой на общем CPU X11:
Код: Выделить всё
RTT| 00:04:55 (in-kernel periodic task, 1000 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD| -0.697| 2.154| 33.287| 0| 0| -0.697| 93.771
RTD| -0.013| 2.487| 42.774| 0| 0| -0.697| 93.771
RTD| -0.021| 3.041| 39.823| 0| 0| -0.697| 93.771
RTD| -0.011| 2.340| 38.675| 0| 0| -0.697| 93.771
Под нагрузкой на выделенном CPU X11:
Код: Выделить всё
RTT| 00:04:55 (in-kernel timer handler, 1000 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD| 0.319| 5.942| 37.613| 0| 0| -0.399| 45.888
RTD| 0.329| 5.040| 28.577| 0| 0| -0.399| 45.888
RTD| 0.320| 4.970| 27.285| 0| 0| -0.399| 45.888
RTD| 0.299| 4.232| 19.567| 0| 0| -0.399| 45.888
RTD| 0.211| 3.678| 16.972| 0| 0| -0.399| 45.888
---|-----------|-----------|-----------|--------|------|-------------------------
RTS| -0.399| 2.216| 45.888| 0| 0| 00:04:59/00:04:59
Без нагрузки на выделенном CPU X11:
Код: Выделить всё
RTT| 00:04:55 (in-kernel timer handler, 1000 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD| 0.253| 0.336| 2.225| 0| 0| -0.415| 18.502
RTD| 0.251| 0.335| 2.080| 0| 0| -0.415| 18.502
RTD| 0.250| 0.324| 0.616| 0| 0| -0.415| 18.502
RTD| 0.253| 0.342| 2.434| 0| 0| -0.415| 18.502
Без нагрузки на выделенном CPU в консоли:
Код: Выделить всё
RTT| 00:04:55 (in-kernel timer handler, 1000 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD| -0.227| 0.329| 0.975| 0| 0| -0.418| 1.998
RTD| -0.226| 0.336| 1.129| 0| 0| -0.418| 1.998
RTD| 0.251| 0.331| 1.009| 0| 0| -0.418| 1.998
RTD| -0.337| 0.332| 1.079| 0| 0| -0.418| 1.998
---|-----------|-----------|-----------|--------|------|-------------------------
RTS| -0.418| 0.327| 1.998| 0| 0| 00:04:59/00:04:59

всего 2 миллисекунды!
На этом буду считать код ядра xenomai рабочим.
Можно приступать к сборке и настройке дистрибутива с этим ядром.