lkml.org 
[lkml]   [1999]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Real Time scheduler?
On Mon, 8 Feb 1999, Peter Steiner wrote:

>To: linux-kernel@vger.rutgers.edu
>Subject: Re: Real Time scheduler?
>In-Reply-To: <Pine.LNX.4.03.9902081557070.28564-100000@mirkwood.dummy.home>
>
>>I am (or rather, will be once 2.2 stabilizes) working
>>on the exact opposite: SCHED_IDLE processes which only
>>run when the system's got nothing else to do.
>
>I already have something like that. It's a modification of how niceness

There was the SCHED_IDLE patch from Ingo too.

>the processor, e.g. when there's a process running at nice=0 then no
>proces with nice=11 or higher will get the cpu. On the other hand, if

As I just pointed out for the SCHED_IDLE patch: doing that, you open a
window to deadlocking on semaphores.

To fix this properly (as pointed out by Pavel) you must be more clever and
see _where_ the process got rescheduled.

>
>- if (p->policy != SCHED_OTHER || p->counter > current->counter + 3) {
>+ if (p->policy != SCHED_OTHER ||
>+ p->counter+(p->priority<<2)>=current->counter+(current->priority<<2)) {


I just did something like that some time ago (probably Rik remeber).

I only changed `p->counter > current->counter + 3' to:

`p->counter + p->priority > current->counter + 3 + p->priority'

This make sense to me since we may want to reschedule the current task if
the wokenup one has very higer priority. But it's not a critical thing in
real-life (where all processes are used to run at the same priority), it's
just a thought.

Andrea Arcangeli


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

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.065 / U:1.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site