I have a Fibre Optic link, with a proprietary Device Driver and message format.
The link goes into a PCIe card. Running on a RHEL 5.2 (2.6.18-128~)
I have mmap'ed the interface on the card for setup and FIFO access etc, but cannot use this for interrupts as this should be done via the kernel-space interrupt routine (correct me if required!)
If the provided driver was assumed to be "the best" then would be the expected access times between the interrupt occurring and the User Space API interrupt call wait method returning?
WaitForInterrupt();
// Interrupt occurs <-- time to get to here
I am seeing times of around 500 milliseconds microseconds!?
Whereas I have the mmaped access down to < 10 microseconds!
Could/is this a case of bad DeviceDriver and or the user space library API implementation?
Or does switching between the kernel space and user space take this sort of time?