Re: SCHED_RR is broken + patch

From: Borislav Deianov (borislav@lix.polytechnique.fr)
Date: Wed Apr 26 2000 - 05:41:45 EST


On Tue, Apr 25, 2000 at 03:48:51PM -0700, Dimitris Michailidis wrote:
> Borislav Deianov <borislav@lix.polytechnique.fr> writes:
> > sched_yield doesn't always yield for SCHED_OTHER threads
>
> Processes should yield only to higher or equal priority processes. A
> SCHED_OTHER thread executing sched_yield doesn't have to yield just because
> there may be other SCHED_OTHER processes available.

It does, the way I read sched_yield(2) and sched_setscheduler(2):

| A static priority value sched_priority is assigned to each process
| and this value can be changed only via system calls.
...
| Processes scheduled with SCHED_OTHER must be assigned the static
| priority 0
...
| A process can relinquish the processor voluntarily without blocking
| by calling sched_yield. The process will then be moved to the end
| of the queue for its static priority and a new process gets to run.

> > counter for SCHED_FIFO threads is never reset
>
> It should not expire in the first place. SCHED_FIFO processes do not have
> slices.

Agreed.

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



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:11 EST