What are bottom half mechanisms ? How they are different each other ?

Linux handles a longish task (while handling the interrupt routine) by splitting the interrupt handler into two halves to handle it efficiently. The so-called top half is the routine that actually responds to the interrupt -- that is the one register with request_irq. The bottom half is a scheduled function by the top half to run later, at a safer time.

Softirq's, Tasklets and workque's are three types of bottom mechanisms which are deferred works from top half.

Work queues is a type of bottom half mechanism, its a third way of defer work from interrupt handlers runs in process context, it can be sleep able.

Please find below table to understand the difference between softirqs, tasklets, and work queues (bottom half mechanism's),



Previous Post Next Post

Contact Form