![]() | |||||||||||||
Messages in this thread |
On Thu, Jan 12, 2006 at 01:54:23PM +0100, Esben Nielsen wrote: > turnstiles? What is that? http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/subr_turnstile.c Please, read. Now tell me or not if that looks familiar ? :) Moving closer an implementation is arguable, but it is something that should be considered somewhat since folks in both the Solaris (and FreeBSD) communities have given a lot more consideration to these issues. The stack allocated objects are fine for now. Priority inheritance chains should never get long with a fine grained kernel, so the use of a stack allocated object and migrating pi-ed waiters should not be a major real world issue in Linux yet. Folks should also consider using an adaptive spin in the __grab_lock() (sp?) related loops as a possible way of optimizing away the immediate blocks. FreeBSD actually checks the owner of a lock aacross another processor to see if it's actively running, "current", and will block or wait if it's running or not respectively. It's pretty trivial code, so it's not a big issue to implement. This is ignoring the CPU local storage issues. bill - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-01-13 08:12 [from the cache] ©2003-2008 | |||||||||||||