Skip site navigation (1)Skip section navigation (2)
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>