Re: Interrupt starvation points

From: Ingo Molnar
Date: Fri Feb 11 2005 - 12:46:10 EST



* Daniel Walker <dwalker@xxxxxxxxxx> wrote:

> I found some points during schedule when interrupts are off
> for long periods . These two patches seem to help. One enables
> interrupts inside schedule() , so that interrupts are enabled after
> each need-resched loop, then disabled again before __schedule() is
> called.
>
> The other patch enabled interrupt before calling up on
> kernel_sem ..This one could use some thinking over. I did this cause
> up() is very expensive on ARM , and combined with the looping above
> interrupts can stay off for a long time ..

i'm wondering what the best approach would be. Right now if
DIRECT_PREEMPT is enabled [it's disabled currently] and a higher-prio
task has been woken up we switch to it without ever enabling interrupts
again. Re-enabling interrupts during schedule() will reduce irq
latencies but will lengthen critical sections.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/