2001-02-25 18:32:57

by Fabrice Peix

[permalink] [raw]
Subject: sched_yield




Yop,

Just a newbie question ...
Why sys_sched_yield don't call schedule ?


man page of sched_yield tell :

"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."

Bye.


2001-02-25 18:50:41

by Davide Libenzi

[permalink] [raw]
Subject: RE: sched_yield


On 25-Feb-2001 Fabrice Peix wrote:
>
>
>
> Yop,
>
> Just a newbie question ...
> Why sys_sched_yield don't call schedule ?
>
>
> man page of sched_yield tell :
>
> "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."
>

It sets, under certain conditions ( nr_running ), the variable need_resched
and, in the system call return code this value is checked and schedule() is
called.
Look at sched.c and entry.S.



- Davide