cvs commit: src/sys/kern kern_prot.c vfs_export.c src/sys/nfsserver nfs_srvsock.c nfs_srvsubs.c src/sys/sys ucred.h src/sys/ufs/ufs ufs_vnops.c

John Baldwin jhb at FreeBSD.org
Wed Sep 28 10:24:00 PDT 2005


On Wednesday 28 September 2005 05:16 am, Jeremie Le Hen wrote:
> Hi John,
>
> > jhb         2005-09-27 18:09:42 UTC
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/kern             kern_prot.c vfs_export.c
> >     sys/nfsserver        nfs_srvsock.c nfs_srvsubs.c
> >     sys/sys              ucred.h
> >     sys/ufs/ufs          ufs_vnops.c
> >   Log:
> >   Use the refcount API to manage the reference count for user credentials
> >   rather than using pool mutexes.
>
> Regarding your great job on atomic operations and the modification you
> made on process argument and process limit structures as well as
> user credentials, I wonder if you managed to get some figures
> illustrating the improvement.

No, I didn't run any before/after benchmarks, just stability tests to make 
sure I didn't break anything.  I'm pretty sure 2 atomic operations aren't 
cheaper than just 1 though.  However, on some archs (ppc and ia64 currently) 
there might be a penalty in the edge case where the atomic_cmpset loop races 
and has to do more than one atomic_cmpset.  However, in that case it would 
have had to contest on the mutex anyways, so even then I still think it would 
be a win.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-all mailing list