Re: [2.4.17/18pre] VM and swap - it's really unusable

Robert Love (rml@tech9.net)
13 Jan 2002 13:20:08 -0500


On Sun, 2002-01-13 at 10:59, Alan Cox wrote:
> > I disable a single specific interrupt, I don't disable the timer interrupt.
> > Your code doesn't seem to handle that.
>
> It can if we increment the preempt_count in disable_irq_nosync and
> decrement it on enable_irq.

OK, Alan, you spooked me with the disable_irq mess and admittedly my
initial solution wasn't ideal for a few reasons.

But it isn't a problem after all. In hw_irq.h we bump the count in the
interrupt path. This should handle any handler, however we end up in
it.

I realized it because if we did not have a global solution to interrupt
request handlers, dropping spinlocks in the handler, even with IRQs
disabled, would cause a preemptive schedule. All interrupts are
properly protected.

Robert Love

-
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/