On Mon, 1 Oct 2007 15:44:09 -0700 "David Schwartz" <davids@webmaster.com> wrote:not really; SOMEONE will make progress, the one holding the lock. Granted, he can be on some other cpu, but at that point all yielding gets you is a bunch of cache bounces. that's also what trylock is for... as well as spinaphores... (you can argue that futexes should be more intelligent and do spinaphore stuff etc... and I can buy that, lets improve them in the kernel by any means. But userspace yield() isn't the answer. A yield_to() would have been a ton better (which would return immediately if the thing you want to yield to is running already somethere), a blind "yield" isn't, since it doesn't say what you want to yield to. Note: The answer to "what to yield to" isn't "everything that might want to run"; we tried that way back when the 2.6.early scheduler was designed and that turns out to not be what people calling yield expected.. (it made their things even slower than they thought). So they want "yield to" semantics, without telling the kernel what they want to yield to, and complain if the kernel second-guesses wrongly.... not a good api. -
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Tim Tassonis | reiser4 for 2.6.27-rc1 |
| Roland Dreier | Re: Integration of SCST in the mainstream Linux kernel |
| Jarek Poplawski | Re: [BUG] New Kernel Bugs |
git: | |
| Junio C Hamano | Re: Comments on recursive merge.. |
| Ken Pratt | Re: pack operation is thrashing my server |
| Junio C Hamano | [ANNOUNCE] GIT 1.5.4 |
| Chris Hoffman | git-daemon on Windows? |
| Peter Zijlstra | [BUG?] sendfile / distcc |
| KOSAKI Motohiro | [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Mark Lord | Re: 2.6.25-rc8: FTP transfer errors |
| Ilpo Järvinen | Re: [PATCH 2/4] tcpv6: trivial formatting changes to send_(ack|reset) |
| Richard Stallman | Real men don't attack straw men |
| Diana Eichert | OpenBSD on decTOP? |
| Jeff Ross | U320 Drive on U160 controller? |
| Sebastian Reitenbach | problems with hoststated and relayd |
