Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.32-6

From: K.R. Foley
Date: Thu Dec 09 2004 - 09:53:32 EST


Ingo Molnar wrote:
* K.R. Foley <kr@xxxxxxxxxx> wrote:


OK dumb question. I am going out to get my own personal brown paper
bag, since I seem to be wearing it so often. I forgot tasks get
removed from the runqueue when they are sleeping, etc. so the active
array should empty most of the time. However, with more RT tasks and
interactive tasks being thrown back into the active queue I could see
this POSSIBLY occasionally starving a few processes???


interactive tasks do get thrown back, but they wont ever preempt RT
tasks. RT tasks themselves can starve any lower-prio process
indefinitely. Interactive tasks can starve other tasks up to a certain
limit, which is defined via STARVATION_LIMIT, at which point we empty
the active array and perform an array switch. (also see
EXPIRED_STARVING())

Ingo

Understood. BTW, I wouldn't consider some possible starvation of lower priority, non-realtime tasks to be incorrect behavior for a realtime system. The comments in the above email as well as previous emails were not intended as complaints or questions of correctness. They were more just thoughts generated while thinking about some of the reports of non-realtime tasks being starved.

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