On Thu, 07 Mar 2013 17:17:19 +0200, Kevin Wilson said:

> Does this mean that once you are disabling
> interrupts, these interrupts are lost ?  even later, when we will
> enable interrupts, the interrupts from the past that should have been
> created (but interrupts were disabled at that time interval) are in
> fact lost?

Level-triggered interruots will go off once interrupts are re-enabled,
assuming that the device has kept the level set and not given up and timed
out.

Edge-trittered interrupts are gone.  That's part of why most hardware
doesn't use edge triggers - it's just too hard to guarantee proper device
driver operation.

Also, in common usage, "disabled interrupts" means that you're not listening
to *any* interrupts, while "masked" means "we're not listening to *this*
interrupt source, even if we *are* accepting interrupts from other sources".

The difference is that sometimes the CPU is doing stuff that it would be
potentially screwed if *any* interrupt happened, so we disable them.  Other
times we're busy inside a device driver, and we're in a critical section
for that device - but it's safe for other devices to interrupt.  So to improve
latency we mask off just the one interrupt not all of them.

Attachment: pgpceuS7ZHI2D.pgp
Description: PGP signature

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to