Date: Mon, 5 Jun 2006 18:22:10 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: Kirk McKusick <mckusick@chez.mckusick.com>, Garrett Wollman <wollman@khavrinen.csail.mit.edu>, arch@freebsd.org Subject: Re: Why use `thread' as an argument of Syscalls? Message-ID: <20060605182136.F68996@fledge.watson.org> In-Reply-To: <20279.1149527318@critter.freebsd.dk> References: <20279.1149527318@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 5 Jun 2006, Poul-Henning Kamp wrote: > In message <200606051700.k55H0OeJ092393@chez.mckusick.com>, Kirk McKusick write > s: > >> Your above analysis is correct. When we made the pass over the code base to >> eliminate all references to "u." we had also hoped to get rid of all >> references to "curproc". While we were successful with the former, it >> eventually became clear that the latter was not practical. But by that >> time, the convention of passing the current process pointer to Syscall was >> established, and removing it did not seem to be worth the effort. > > It would be a good Junior Kernel Hacker project to try to replace these > passed arguments with curproc and see if a measurable difference in > performance is obtained. Caution should be applied, however: not all threads passed into functions are necessarily curthread, nor all processes curproc. It's the obscure edge places that kill you :-). Robert N M Watson
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060605182136.F68996>
