Re: SCHED_YIELD again

Borislav Deianov (borislav@lix.polytechnique.fr)
Fri, 15 Oct 1999 00:49:33 +0200


On Mon, Oct 11, 1999 at 10:38:05PM -0600, yodaiken@chelm.cs.nmt.edu wrote:
> On Sun, Oct 10, 1999 at 02:03:53AM +0200, Borislav Deianov wrote:
> > > flawed. POSIX.4 states that RT processes will always run in preference
> > > to SCHED_OTHER. A RT process which does sched_yield() *should not*
> > > give up it's CPU to a SCHED_OTHER process.
> >
> > Agreed. With my patch a RT process will only yield to another RT
> > process with the same or higher priority.
>
> Where does it say that?

I was hoping somebody with POSIX in hand would quote. All I have is
sched_setscheduler(2), it says:

"In order to determine the process that runs next, the Linux scheduler
looks for the non-empty list with the highest static priority and
takes the process at the head of this list."

It makes no exception to processes that have called sched_yield().

> When I read the spec, I got the impression that it was permitted for
> the priorities of different scheduling classes to overlap.

What do you mean?

Borislav

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