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 for the duration of completion of the tasks. 

This dichotomy on how quick the interrupt line has to be released and the need for the interrupt line to process a number of tasks based on the interrupt resulted in the creation of “Bottom Half” mechanisms. The ISR, which handles the interrupt was the “top half” and the routine which was scheduled for operation from within the ISR (which would handle all the necessary tasks for the interrupt) was named the bottom half.

The Linux bottom half mechanisms are provided below:

  • softirqs
  • tasklets
  • workqueues

We will look at tasklets and workqueues next and address softirqs at a later time. 

Tasklets in the Linux Kernel

 

Comments

  1. Pingback: Interrupt Service Routine -Keyboard Interrupt | Hitch Hiker's Guide to Learning

Leave a Reply

Your email address will not be published. Required fields are marked *