СВД Встраиваемые Системы 0e773acb47 | ||
---|---|---|
.. | ||
nto | ||
Makefile | ||
README.md | ||
common.mk | ||
ticksize.c | ||
ticksize.use |
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