Re: Make yield_task_fair more efficient

From: Peter Zijlstra
Date: Thu Feb 21 2008 - 03:44:25 EST



On Thu, 2008-02-21 at 13:09 +0530, Balbir Singh wrote:

> sched_yield() is supported API

For SCHED_FIFO/SCHED_RR.

> and also look at http://lkml.org/lkml/2007/9/19/351.

Read on (http://lkml.org/lkml/2007/9/19/371) and find:

The sched_yield() behaviour is actually very well-defined for RT
tasks (now, whether it's a good interface to use or not is still
open to debate, but at least it's a _defined_ interface ;), and
I think we should at least try to approximate that behaviour for
normal tasks, even if they aren't RT.

sched_yield() just isn't a very useful API except in RT and even there
one can question it.

> I am trying to make sched_yield() efficient
> when compat_sched_yield is turned on (which is most likely), since people will
> want that behaviour (Hint, please read the man-page for sched_yield).

I did, so what? read the POSIX spec - its just plain undefined for
SCHED_OTHER. We already do something 'sensible' for those few broken
applications relying on unspecified behaviour.

> There are
> already several applications using sched_yield(), so they all suffer.

Who is using it, where is their source so we can show its faster to not
use it?

Really, hiding behind closed sores doesn't make it good.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/