Search code examples
linuxoperating-systemkernelinterrupt-handlingisr

What does "interrupt service routines of an interrupt handler" mean?


From this accepted answer:

There is no difference in Interrupt handler and ISR.

There is another answer that explains but it's not so clear to me.

From Understanding the Linux Kernel, 3rd Edition:

Remember that the interrupt service routines of an interrupt handler are serialized, and often there should be no occurrence of an interrupt until the corresponding interrupt handler has terminated. Conversely, the deferrable tasks can execute with all interrupts enabled.

This is causing a confusion for me. What does "interrupt service routines of an interrupt handler" mean?


Solution

  • Not knowing the context, I can understand the text in two different ways:

    first

    In most modern operating systems the actual interrupt handler is a function in the operating system which does some operations, calls a function in a device driver and then performs some more operations.

    Both the words "interrupt service routine" and "interrupt handler" might be used for the function in the operating system or for the function in the device driver.

    The book may name the operating system's function "interrupt handler" and the function in the driver "interrupt service routine". In this case the book describes how different device drivers handling the same interrupt work.

    second

    When an interrupt occurs, the "interrupt service routine" is started. The book names the function itself "interrupt handler" and each time the function is started, the book speaks about one "interrupt service routine".

    In this case the book describes what exactly happens if an interrupt occurs multiple times and the "interrupt service routine" has not finished before the next interrupt happens.