5

さまざまなLinuxカーネル(RTパッチが有効になっているなど)の割り込みレイテンシのジッターを測定しようとしています。GPIOピンで割り込みを生成し、割り込みサービスルーチンで別のGPIOピンをトグルすることにより、オシロスコープを使用してこれを行うのが最善の方法であることはわかっていますが、これを行うためのLinuxカーネルツールがあるかどうか疑問に思っていました。数値の比較を行うことができます。

4

3 に答える 3

6

典型的な方法は、高精度クロック (CPU のサイクル カウンターなど) をセットアップして、将来のランダムだが既知の時間に割り込みをトリガーし、クロックが設定された時間との差を ISR で測定することです。 ISR に実際に到達した時間との比較です。

(これの「ランダムな」部分は、静かな時間または忙しい時間に体系的に測定を行うことを避けることを保証することです。レイテンシーの数値を押し上げます。)

これをいくらか実装するツールはCyclictestですが、ISR 自体ではなくカーネル スレッド内の時間を測定するように見えますが、測定されたレイテンシの数値を多少押し上げます。

于 2013-03-14T03:49:18.790 に答える
0

Another way is to connect your target board's one GPIO output to another GPIO input, pull the signal on GPIO output and handle this event in GPIO's ISR routine. Check the time difference of pulling signal and trigger of GPIO input ISR. here is the open source to do this, for Raspberry board:

Linux GPIO IRQ latency test

于 2015-06-02T03:14:37.813 に答える