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

From: Mark_H_Johnson
Date: Thu Dec 09 2004 - 09:56:30 EST


>interactive tasks do get thrown back, but they wont ever preempt RT
>tasks. RT tasks themselves can starve any lower-prio process
>indefinitely.
Definitely the behavior I want to see.

> 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())
Could this somehow be the cause of the relatively poor performance
I am seeing with the following combination on a 2 CPU system:
a one RT task with nominal 80% CPU usage / output to audio
b one non RT, nice task at 100% CPU usage (cpu_burn)
c one non RT, not nice task doing lots of I/O
d a hundred non RT tasks, relatively idle
The elapsed time of (c) goes from under 40 seconds to over
300 seconds (basically does little to no work while the RT task is
active).

I should have only 1 CPU's worth of work as RT and based on what
the comments in sched.c indicate the nice job should get preempted
by the not nice job on a regular basis (but somehow that doesn't
seem to happen).

--Mark H Johnson
<mailto:Mark_H_Johnson@xxxxxxxxxxxx>

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