> > Then local_bh_enable() has a small preemptible window between
>
> i dont think getting a preemption before softirqs are processed is a big
> problem. Such type of preemption comes in form of an interrupt, which
Ah, yes...
> > But in irq_exit() case interrupt context may be preempted
>
> okay - i've fixed irq_exit() once more in -G4
found G5, your forgot to add preempt_disable() in irq_exit()
#define irq_exit()
do {
+ preempt_disable();
preempt_count() -= IRQ_EXIT_OFFSET;
if (!in_interrupt() && softirq_pending(smp_processor_id()))
Oleg.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/