我有一臺配有兩個PCIe RS-485卡的Linux機器(XR17V354 & XR17V352)。我將其中一個卡上的一個端口硬連線到另一個卡上的一個端口。這些卡由通用串行驅動程序(serial8250)驅動。如何測量硬件中斷和相關係統調用之間的延遲?
我正在運行測試和測量延遲。我有一個Linux進程從端口發送兩個字節,然後偵聽兩個傳入的字節。另一個進程接收兩個字節並立即發回兩個字節。
我正在測量這個往返延遲約爲1500微秒,標準偏差約爲40微秒。我試圖瞭解這種延遲的來源。具體來說,我想了解一下硬件IRQ觸發信號數據的準備時間以及字節提供給用戶空間進程的時間差異。
我知道ftrace功能,但我不確定如何最好地利用它,或者如果有其他更合適的工具。謝謝。