Re: low priority soft RT?

yodaiken@chelm.cs.nmt.edu
Tue, 27 Jul 1999 15:39:03 -0600


On Wed, Jul 28, 1999 at 07:09:32AM +1000, Richard Gooch wrote:
> So SCHED_IDLE shouldn't be lambasted for making a deadlock possible,
> because SCHED_OTHER (in the presence of RT processes) can do the
> same.

Sure. But another way of seeing it is: SCHED_FIFO/RR introduces the
possibility of deadlocks and makes it seem more reasonable to introduce
other scheduling classes that are not any worse. So the original
mistake has a snowball effect. The problem is that SCHED_RR/FIFO is
incorrectly implemented as the highest priority class. What is needed
is a priority class switch that makes sure SCHED_OTHER gets some
percentage of the cpu time. As I understand the POSIX specs, there is
no specification of the interaction between scheduling policies. So
it is POSIX compliant to give some time to SCHED_OTHER processes even
when SCHED_RR processes are ready to run.

>Which is why I support moving !SCHED_OTHER processes to
> SCHED_OTHER when they call schedule(), and moving them back when
> schedule() returns.

Doesn't that defeat the purpose of the soft-rt? There is no
point in being SCHED_RR only when you own the processor.
Or maybe I misunderstand your idea?

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