Really challenging...I'll see what I can do... On Wed, Aug 11, 2010 at 03:29, Parmenides <mobile.parmenides@xxxxxxxxx> wrote: > > Hi, > > There are some problems puzzled me concerning interrupts. .... > 1. The following excerpt code is from function mask_and_ack_8259a: > The operations are seemingly all dedicated to change the status of > 8259A chip, including masking the corresponding interrupt line > specific to irq, while none to affect the kernel data structure. > Therefore, I wonder what's role of the flag of IRQ_DISABLED. I am sloppy when dealing with interrupt handling, but here's how I think: if you don't disable it during acknowledgment, then how do you prevent the following queued interrupts from screwing? > 2. When processing an IRQ, is there any chance to lost the same IRQ > comes next? Take keyboard, if I keep a key pressing down for a while, > the keyboard will raise the same IRQ continually. The first occurence > lead the CPU to jump to a corresponding ISR, and before the ISR > finishing the 8259A can not accept the same IRQ, and the next > occurence of the same IRQ come form the keyboard. Will the second > occurence lost? AFAIK nope, it's disabled (errr wait, or masked?)... meaning something like "I won't respond for now, so please sit down and wait until we call you" -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ