как получить время, затрачиваемое ядром Linux на обслуживание прерываний

Я хочу отследить джиттер в фрагменте кода, и я знаю, что есть много потенциальных источников (переключение задач, системные вызовы, промахи кеша, перемещение задачи на другой процессор, дросселирование процессора и т. д.), и я знаю, как отслеживать все это, но единственное, что я не знаю, как отслеживать, - это время, затраченное ядром на обслуживание прерываний. Данные находятся в /proc/stat, но они измеряют время в soft-irq и irq с низким разрешением, и я ищу что-то с гораздо более точным разрешением.

Есть ли способ получить время, вплоть до наносекунды или, по крайней мере, микросекунды, затрачиваемое ядром на обслуживание прерываний?


person Ginger Snaps    schedule 17.04.2013    source источник
comment
Вы можете скомпилировать собственное ядро, которое переворачивает gpio при входе/выходе прерывания, а затем отслеживать время на логическом анализаторе.   -  person TJD    schedule 17.04.2013
comment
Любая попытка измерить что-то повлияет на что-то (в той или иной степени). Поэтому предпочтение отдается внешнему измерению, например, комментарию @TJD.   -  person sawdust    schedule 18.04.2013


Ответы (1)