Hello All,

   I am reading Linux Kernel Development 2nd Ed and in Ch 6 about Interrupts
and Interrupt Handler
it mentions about functions defined in kernel to disable interrupts.

local_irq_disable/enable, disable_irq, enable_irq etc.

Stating that we need to disable atleast an interrupt line when executing an
corresponding interrupt handler.
Than it also talks about PCI were the specification mandates the sharing of
interrupt lines and mentions that
in such scenario its rude to disable shared interrupt lines and most modern
device driver tend not to use these
interfaces. (on page 91) Did not explain further that if so, which mechanism
is used to execute ISR in its entirety.

My Question is:
If modern driver doesn't use interrupt disable routines how do they make
sure that ISR is  getting executed
uninterrupted and without having cascading calls to the same ISR while its
in execution.

Please help me in understanding this.

Regards,
Vipul.

Reply via email to