Tasklets are a means of achieving bottom-half processing in the Linux Kernel. What is bottom-half and the need for bottom half is explained in the article below. https://www.hitchhikersguidetolearning.com/2021/05/09/bottom-half-processing-in-the-linux-kernel/ Tasklets are the preferred mechanism to defer execution in Linux. Tasklets are implemented on top of softirqs – HI_SOFTIRQ and TASKLET_SOFTIRQ. The high priority tasklets (placed in […]
Bottom Half Processing in the Linux Kernel
What is “Bottom Half” ? This question can arise for any one who is new to the way Linux addresses a specific interrupt. In response to an interrupt, an interrupt handler might have to complete a number of tasks which might consume a significant amount of time but the interrupt line cannot be held high […]
Interrupt Service Routine -Keyboard Interrupt Example
The below code shows a keyboard interrupt program. The Keyboard interrupt line number on an x86 based system is “1“. The program attempts to obtain the key press from the user and act upon it. In the program – the key press and key release both trigger the interrupt line and the ISR – “keyboard_isr” […]
Interrupt Service Routine (ISR)
The Interrupt service routine handles an interrupt in the Linux Kernel. The interrupt service routine for the Interrupt is registered using the “request_irq” API. The IRQ can be released using the “free_irq” API. The “handler” function pointer parameter in the request_irq API is the handler of the interrupt, The “irq” parameter is the interrupt request […]