Losing it is a bit worrying, You might miss some interrupts in the sense
of taking > 1/4000th of a second to service them but it shouldnt miss any.
> -When using bottom half in the immediate queue, does the bh function
> executes really quickly after the interrupt handler with SMP kernel ?
if you mark_bh(IMMEDIATE_BH)
> -And does the kernel executes 2 instances of the bh function (if it was
> marked twice by the interrupt handler) on a SMP kernel ?
If it is marked twice and not running then it will execute once only. If
it is running then further mark_bh() calls will ensure it is run once
again.
> -Should the bh function disable interrupts (I don't think so, since
> this would be doing the same as the interrupt handler...)
No
> -With interrupts disabled (save_flags(flags); cli();), are the
> interrupts queued by the kernel and distributed once the interrupts
> are re-enabled (restore_flags(flags);) or they are dumped into
> emptiness ?
They interrupt status is left queued. There is no guarantee that 4000
interrupts/second will produce 4000 irq's second - if any irq is pending
then it wont get raised twice - its just a signal on a bus.
Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/