lkml.org 
[lkml]   [1998]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: idle_task priority and scheduling 2.1.131
On Fri, 4 Dec 1998, Andrea Arcangeli wrote:
> On Thu, 3 Dec 1998, Rik van Riel wrote:
>
> >Move the != SCHED_OTHER test before the goodness test,
> >it will avoid clobbering p->policy, fouling up the
> >actual reschedule.

> - if (p->policy != SCHED_OTHER || p->counter > current->counter + 3)
> - current->need_resched = 1;
> + if (p->policy != SCHED_OTHER ||

Please change this to:
if (p->policy != SCHED_OTHER || current->policy != SCHED_OTHER ||

> + p->counter + p->priority > this->counter + this->priority + 3)
> + current->need_resched = 1;
> }

We really want to catch the case where current has set
SCHED_YIELD or has done something strange (idle process).

We can safely use this test because the number of tasks
where policy != SCHED_OTHER should be relatively small
so only testing this should be cheaper than an expensive
test followed by a (very rare) wasted schedule().

regards,

Rik -- the flu hits, the flu hits, the flu hits -- MORE
+-------------------------------------------------------------------+
| Linux memory management tour guide. H.H.vanRiel@phys.uu.nl |
| Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ |
+-------------------------------------------------------------------+


-
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:45    [W:0.045 / U:0.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site