On 12-Feb-02 Julian Elischer wrote:
>  The proclock is needed to get the reference,
> guarding against other threads, and giant is needed fo rnot to free it
> because if it reaches a refcount of 0 it needs to call free(). (which john
> assures me needs Giant at this time).
> We could avoid the proclock with judicious use of an atomic refcount
> incrementing method.

_No_!  The proc lock is protecting p_ucred, it can't go away!  What _can_ go
away is the per-ucred mutex to protect the refcount if we ever revive the
refcount API.

> When Giant goes away it won't be so bad but it will STILL be quicker to
> not drop it across userland.

Yes.  Actually, calling free() can still be rather expensive even when Giant is
gone.

-- 

John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to