[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1213023893.23439.187.camel@twins>
Date: Mon, 09 Jun 2008 17:04:53 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Jakub Jozwicki <jozwicki@...er.pl>
Cc: linux-kernel@...r.kernel.org, Robert Hancock <hancockr@...w.ca>
Subject: Re: sched_yield() on 2.6.25
On Mon, 2008-06-09 at 08:37 +0200, Jakub Jozwicki wrote:
> > > Is this behavior expected?
> >
> > The behavior of sched_yield with SCHED_OTHER processes has changed
> > several times with Linux over the years, since its behavior is not
> > defined by standards, so it's really "whatever the scheduler feels like
> > doing". The behavior is only defined with realtime scheduling
> > (SCHED_FIFO or SCHED_OTHER).
> >
> > Generally, it's a mistake to assume specific timing behavior from
> > sched_yied for SCHED_OTHER processes.
>
> From the man sched_yield:
>
> 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.
>
> and also IEEE/Open Group:
> http://www.opengroup.org/onlinepubs/000095399/functions/sched_yield.html
Yeah, except that is for Real-Time scheduling classes, SCHED_OTHER
doesn't have static priority queues.
SCHED_OTHER doesn't have a specified implementation - so relying on it
to do anything specific is well outside the scope of definition.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists