Re: yield API

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Ingo Molnar <mingo@...>
Cc: David Schwartz <davids@...>, <linux-kernel@...>
Subject: Re: yield API
Date: Wednesday, December 12, 2007 - 6:39 pm

On 02/10/2007, Ingo Molnar <mingo@elte.hu> wrote:

I have one example of sched_yield() use in a real app. Unfortunately
it's proprietary so I can't show you the source, but I can tell you
how it's used.

The case is this:  Process A forks process B. Process B does some work
that takes aproximately between 50 and 1000ms to complete (varies),
then it creates a file and continues to do other work.  Process A
needs to wait for the file B creates before it can continue.
Process A *could* immediately go into some kind of "check for file;
sleep n ms" loop, but instead it starts off by calling sched_yield()
to give process B a chance to run and hopefully get to the point where
it has created the file before process A is again scheduled and starts
to look for it - after the single sched yield call, process A does
indeed go into a "check for file; sleep 250ms;" loop, but most of the
time the initial sched_yield() call actually results in the file being
present without having to loop like that.

Now is this the best way to handle this situation? No.
Does it work better than just doing the wait loop from the start? Yes.
Is this a good way to use sched_yield()? Maybe, maybe not.  But it
*is* an actual use of the API in a real app.


True. But in the app I'm talking about above, rewriting the code to
communicate over a pipe, socket or anything else would have been too
large a change to make (released product, can't risk introducing (new)
bugs).


I agree that sched_yield() is not a very good API. I also agree that
our use of it is not the best solution to the problem we wanted to
solve, but it actually works pretty well most of the time.

Just for the record; for our use, sched_yield() seems to work just
fine both with older and newer kernels, so from my point of view the
new scheduler is doing fine in this regard.

-- 
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Network slowdown due to CFS, Martin Michlmayr, (Wed Sep 26, 4:52 am)
Re: Network slowdown due to CFS, Mike Galbraith, (Wed Sep 26, 6:23 am)
Re: Network slowdown due to CFS, Martin Michlmayr, (Wed Sep 26, 6:48 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Sep 26, 7:21 am)
Re: Network slowdown due to CFS, Martin Michlmayr, (Wed Sep 26, 7:29 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Thu Sep 27, 5:49 am)
Re: Network slowdown due to CFS, Martin Michlmayr, (Thu Sep 27, 6:54 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Thu Sep 27, 6:56 am)
Re: Network slowdown due to CFS, Martin Michlmayr, (Thu Sep 27, 7:12 am)
RE: Network slowdown due to CFS, David Schwartz, (Wed Sep 26, 8:00 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Sep 26, 9:31 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Thu Sep 27, 5:30 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Thu Sep 27, 5:46 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Thu Sep 27, 8:27 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Thu Sep 27, 9:31 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Thu Sep 27, 10:42 am)
Re: Network slowdown due to CFS, Nick Piggin, (Fri Sep 28, 2:10 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Mon Oct 1, 4:43 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Tue Oct 2, 5:26 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Mon Oct 1, 12:25 pm)
Re: Network slowdown due to CFS, Jarek Poplawski, (Tue Oct 2, 5:03 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Tue Oct 2, 9:39 am)
Re: Network slowdown due to CFS, Chris Friesen, (Mon Oct 1, 12:55 pm)
Re: Network slowdown due to CFS, Ingo Molnar, (Mon Oct 1, 1:09 pm)
Re: Network slowdown due to CFS, Chris Friesen, (Mon Oct 1, 1:45 pm)
Re: iperf yield usage, Ingo Molnar, (Mon Oct 1, 3:09 pm)
RE: Network slowdown due to CFS, David Schwartz, (Mon Oct 1, 12:49 pm)
RE: Network slowdown due to CFS, Rusty Russell, (Wed Oct 3, 8:31 pm)
Re: Network slowdown due to CFS, Helge Hafting, (Wed Oct 3, 7:31 am)
Re: Network slowdown due to CFS, Arjan van de Ven, (Mon Oct 1, 3:53 pm)
RE: Network slowdown due to CFS, David Schwartz, (Mon Oct 1, 6:17 pm)
Re: Network slowdown due to CFS, Arjan van de Ven, (Mon Oct 1, 6:35 pm)
RE: Network slowdown due to CFS, David Schwartz, (Mon Oct 1, 6:44 pm)
Re: Network slowdown due to CFS, Arjan van de Ven, (Mon Oct 1, 6:55 pm)
RE: Network slowdown due to CFS, David Schwartz, (Tue Oct 2, 11:37 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Wed Oct 3, 3:15 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Mon Oct 1, 1:31 pm)
RE: Network slowdown due to CFS, David Schwartz, (Mon Oct 1, 2:23 pm)
Re: yield API, Ingo Molnar, (Tue Oct 2, 2:46 am)
Re: yield API, Jesper Juhl, (Wed Dec 12, 6:39 pm)
Re: yield API, Kyle Moffett, (Thu Dec 13, 12:43 am)
RE: yield API, David Schwartz, (Thu Dec 13, 4:10 pm)
Re: yield API, Eric St-Laurent, (Tue Oct 2, 5:57 pm)
Re: yield API, linux-os (Dick Johnson), (Tue Oct 2, 7:50 am)
Re: yield API, Douglas McNaught, (Tue Oct 2, 11:24 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Tue Oct 2, 2:26 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Tue Oct 2, 2:08 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Tue Oct 2, 2:06 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Wed Oct 3, 4:02 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Oct 3, 4:16 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Wed Oct 3, 4:56 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Oct 3, 5:10 am)
Re: Network slowdown due to CFS, Casey Dahlin, (Thu Oct 4, 1:33 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Wed Oct 3, 5:50 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Sun Oct 7, 3:18 am)
Re: Network slowdown due to CFS, Dmitry Adamushko, (Wed Oct 3, 6:55 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Wed Oct 3, 7:40 am)
Re: yield, Ingo Molnar, (Wed Oct 3, 7:56 am)
Re: yield, Jarek Poplawski, (Wed Oct 3, 8:16 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Oct 3, 7:22 am)
Re: Network slowdown due to CFS, Dmitry Adamushko, (Wed Oct 3, 6:58 am)
Re: Network slowdown due to CFS, Jarek Poplawski, (Wed Oct 3, 7:20 am)
Re: Network slowdown due to CFS, Andi Kleen, (Tue Oct 2, 2:47 am)
Re: Network slowdown due to CFS, Stephen Hemminger, (Wed Sep 26, 11:46 am)
Re: Network slowdown due to CFS, Stephen Hemminger, (Wed Sep 26, 11:40 am)
Re: Network slowdown due to CFS, Mike Galbraith, (Wed Sep 26, 6:20 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Sep 26, 5:34 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Sep 26, 5:47 am)
Re: Network slowdown due to CFS, Martin Michlmayr, (Wed Sep 26, 6:08 am)
Re: Network slowdown due to CFS, Ingo Molnar, (Wed Sep 26, 6:18 am)