On Sun, Sep 18, 2005 at 02:54:20AM +0200, Bernardo Innocenti wrote:
Altough I generally dislike threaded programs and expecially
those who spin on locks instead of designing a proper arbitration
scheme for shared resources, I consider the new kernel behavior
unfair and bogus.
is it? "sched_yield" means "give up the cpu to lower priority
processes",
because, frankly, if there were higher priority ones.. they'd already be
running. So what else does it mean?
It lets low-priority processes steal most CPU time away from
high-priority ones. From a system-administrator point of view,
it makes nice less functional because it doesn't do what you
would expect for processes using specific system calls.
sched_yield... gives up the cpu. it lets other processes go.
What maybe would be useful is a yield_to() which takes a pid. However that
currently doesn't exist.