独自のデバイス ドライバーを使用した光ファイバー リンクがあります。
リンクは PCIe カードに入ります。RHEL 5.2 (2.6.18-128~) で実行しています。セットアップや FIFO アクセスなどのためにカードのインターフェイス
を調整mmap
しました。これらの読み取り/書き込みは完了するまでに数マイクロ秒かかるため、すべて問題ありません。
もちろん、これを割り込みに使用することはできないため、提供されているカーネル モジュールをユーザー空間の lib インターフェイスと共に使用する必要があります。
WaitForInterrupt(); // API lib interface to kernel module
// Interrupt occurs and am returned to my code in user space
time = CurrentTime() - LatchedTime(); // time to get to here
WaitForInterrupt()から戻るのに約70µsかかります。(割り込みが発生した時間はファームウェアでラッチされます。これを読み取り、上記のように約2μsかかり、ファームウェアの現在の時間と比較します)
割り込みが発生してからユーザー空間 API の割り込み呼び出し待機メソッドが戻るまでの予想アクセス時間は?
ネットワーク/その他の高速インターフェイスはかかりますか?