2015-10-21 2 views
0

Мне нужно измерить задержку между одним UDP-пакетом, поступающим на порт Ethernet (т. Е. Сгенерированным прерыванием), и временем, когда этот пакет доставляется на пользовательский уровень (т.е. разблокирован).Измерение латентности UDP для Linux с использованием ftrace

Это время можно измерить с помощью времени timestamping через SIOCGSTAMP ioctl (уровень ядра) и clock_gettime (пользовательский уровень). Тем не менее, мне интересно понять, как эта задержка может быть измерена с помощью команды ftrace.

ответ

0

Если вы видите выход ftrace здесь:

Track a packet as it goes through the kernel (linux)

и это:

Path of UDP packet in linux kernel

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

+0

спасибо. Однако, пример, похоже, не указывает время, в которое прибыло прерывание hw. Имеет ли это ? – Claudio