Conceptual
Login

Top Half and Bottom Half Interrupt Handling

Because the fast part of interrupt handling may not sleep and blocks other work while it runs, drivers split the job in two: a tiny top half that acknowledges the device and records what happened, and a bottom half that does the real processing afterwards in a context where waiting is allowed. Without the split, a driver either does too much with interrupts disabled and hurts the whole system's responsiveness, or tries to do slow work where it is illegal and deadlocks.

Questions this Concept answers

  • Why do drivers split interrupt handling into two parts rather than doing all the work at once?