UIO Drivers - Jump to Core Interrupt

I was looking at user-space input drivers, which removes the disadvantage of an explicit glitch due to inadequate functioning of the driver code.

If process1 is scheduled in the kernel, and if process1 is already running in the CPU, then during active process1, if process2 from other devices requests a service, then the priority for starting process2 becomes high [through interrupt generation]

Likewise, in user-space drivers, the interrupt handler is in user mode, and interrupt detection and invocation occurs in kernel mode. Once an interrupt is handled during device insertion, there can be many interrupts coming from the same device [other than input]. Satisfying the read / write to the device can cause the interrupt to be handled again. But according to my understanding of the i code, the read () syscall will be done from the user mode of the ISR driver [in this case, the CIF driver], and the user mode interrupt handler will be placed in waitqueue using uio_read () [in uio.c] until until a kernel interrupt occurs. I could checkthat the kernel interrupt uio_interrupt () occurs only during device initialization via a call to uio_register_device ().

How does the kernel interrupt for the same CIF device one more time so that it wakes up the sleep interrupt handler and handles the interrupt?

+3


source to share





All Articles