utils/hw
utils
/
hw
1
1
Форкнуть 0
hw/utils/ticksize
СВД Встраиваемые Системы 0e773acb47 ticksize: привязка к первому ядру и проверка переполнения счётчика тактов 2022-12-28 07:23:41 +03:00
..
nto Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
Makefile Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
README.md Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
common.mk Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
ticksize.c ticksize: привязка к первому ядру и проверка переполнения счётчика тактов 2022-12-28 07:23:41 +03:00
ticksize.use Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00

README.md

ticksize

Установка периода срабатывания системного таймера и тест для определения задержки обработки прерывания системного таймера.

Синтаксис

ticksize [-t тиксайз_мкс] [-T длительность] [-e] [-v[v]]

Опции

  • -t тиксайз_мкс

    Установить новый период системного тика, в микросекундах.

  • -T длительность

    Длительность теста определения задержки обработки прерывания системного таймера, в секундах. По умолчанию: 10 секунд.

  • -e

    Использовать для теста задержки срабатывания таймера события (event) вместо прерывания.

  • -v[v]

    Включить дополнительный отладочный вывод.

Описание

Утилита ticksize -t тиксайз устанавливает новый период срабатывания системного таймера (системный тик или тиксайз).

При запуске без параметра -t выполняется тест для определения задержки обработки прерывания системного таймера, что позволяет обнаружить, например, присутствие обработчиков SMI или других нежелательных для систем реального времени обработчиков и задержек.

Вычисление задержки выполняется с помощью подключения обработчика прерывания (см. InterruptAttach()) к прерыванию системного таймера и сравнению прошедшего за один системный тик времени со значением, рассчитанным на основе значений свободно бегущего счётчиков тактов процессора (см. ClockCycles()).

Приемлемые значения задержки зависят от характеристик процессора и загруженности системы, но в общем случае ожидаемые значения могут составлять единицы-десятки микросекунд. Присутствие задержки в сотни или тысячи микросекунд может говорить о наличии нежелательной задержки, прерывающей нормальную работу системного таймера.

Пример выполнения теста на системе с процессором Baikal-T1 (MIPS):

# /ticksize -vv                                                                                                                                                                                               
System timer ticksize: 1000 mks 
Measuring system timer interrupt latency for 10 sec... 

Total measurements: 10001  

Minimum =     993.35 mks 
Maximum =    1006.65 mks 
Average =    1000.04 mks 

------------------------------------ 
System Timer Latency =       6.65 mks 
------------------------------------ 
#

Предостережения

Для современных систем размер периода срабатывания системного таймера по умолчанию равен 1мс, снижение тиксайза увеличивает накладные расходы.

Примеры

Установить период системного таймера 500мкс

ticksize -t 500

Запустить тест определения задержки обработки прерывания системного таймера.

ticksize -vv