Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Feb 2002 20:44:07 -0500 (EST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        current@freebsd.org, bde@freebsd.org, 
Subject:   Re: ucred holding patch, BDE version
Message-ID:  <20020212021252.E6F099F415@okeeffe.bestweb.net>

next in thread | raw e-mail | index | archive | help

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 <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020212021252.E6F099F415>