我有一个带有专有设备驱动程序的光纤链路。
链接进入 PCIe 卡。在 RHEL 5.2 (2.6.18-128~) 上运行,
我已经mmap
在卡上设置了接口,用于设置和 FIFO 访问等,这些读/写需要几微秒才能完成,所以一切都很好。
但是当然不能将它用于中断,所以我必须使用提供的内核模块,以及它的用户空间 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 中断调用等待方法返回之间的预期访问时间是多少?
网络/其他高速接口占用?