On Sun, 2005-11-27 at 15:07 -0500, Lee Revell wrote: > On Sun, 2005-11-27 at 11:03 -0800, Mark Knecht wrote: > > OK, this 'priority' is the Linux kernel's priority. The 'priority' I > > was speaking of was the actual hardware priority. They are different > > things. > > > > In the older PIC when an ISR was entered all lower hardware 'priority' > > IRQ are blocked until the ISR tells the PIC it is ready to release. > > That is the numerical list I gave earlier. In that list is something > > at IRQ14 starts and doesn't release then all interrupts of lower > > hardware priority (15,3,4,5,6,7) will not happen. > > > > Wrong. PIC or APIC, interrupts do not delay other interrupts in this > way. If a disk interrupt happens on IRQ14 then a soundcard interrupt on > IRQ5 fires immediately after then the disk interrupt handler will be > interrupted by the sound card interrupt handler. That's why they are > called interrupts! This is why I keep trying to explain that there is > no "priority" relationship between interrupts. wrong, at least on PIC based systems. the PIC doesn't allow the IRQ line to the CPU to be raised by a lower priority line until the CPU has acked the higher priority IRQ. if the CPU never resets the relevant bit on the PIC, you can completely wedge the system. all linux kernels clear this bit long before the interrupt handler for the device is ever invoked, so you can be forgiven for thinking it works the way you've described :) --p