Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Nov 2001 15:08:37 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        freebsd-arch@FreeBSD.ORG, Robert Watson <rwatson@FreeBSD.ORG>, Terry Lambert <tlambert2@mindspring.com>
Subject:   Re: cur{thread/proc}, or not.
Message-ID:  <XFMail.011112150837.jhb@FreeBSD.org>
In-Reply-To: <200111122254.fACMsNd06845@apollo.backplane.com>

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

On 12-Nov-01 Matthew Dillon wrote:
>:The point is that if the credentials are granted, then a
>:change in credential is not a change of the credential itself,
>:but is instead a copy-on-write proposition.  In other words,
>:credentials, once granted, are priviledge stable.
>:
>:If this is the case, then they are written when they are
>:instanced, cloned before they are modified (indeed, it seems
>:that the clone/modify operation must be made atomic), and
>:thus are never written once instanced -- only destroyed on
>:the 1->0 reference transition.
>:
>:If so, then no locking is required, since the LCK CMPXCHG can
>:be utilized to do atomic increment and decrement on the
>:reference counting, without needing locks.
>:...
>:
>:-- Terry
> 
>     Yes, I believe this is how credentials work.  I looked at
>     the code about 6 months ago.  We should not have to do any
>     locking of the credential stuff, only simple mutexing
>     around the ref counter.  That is how it should work
>     is how I believe it currently works.

Yep.  They use a mutex for the refcount for now, but I still have patches that
some people don't like for implementing a simple refcount API just using atomic
operations.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

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




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