Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Sep 2000 10:11:12 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Don Lewis <truckman@FreeBSD.org>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern vfs_syscalls.c
Message-ID:  <Pine.NEB.3.96L.1000920100342.61948A-100000@fledge.watson.org>
In-Reply-To: <200009201221.FAA32604@freefall.freebsd.org>

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

Cool -- I just noticed that code yesterday and intended to take a look at
fixing it.  Especially in SMPng-land, that kind of arrangement is scary.

BTW, at some point we're going to need to figure out locking/etc for
process structures.  Right now shared credentials save around 76 bytes per
process structure, and additional space due to references in sockets, open
file records, struct buf (?), sockets, et al.  I've been wondering what
the effective cost of moving to an unshared credential model might be, or
to a semi-shared model.  By semi-shared, I mean something on the order of
what SGI/IRIX does -- credentials are only shared by entities which by
definition have the same credential (userland threads mapped into multiple
kernel processes, et al).  In a realm with locking, credentials might
become contentious as they are accessed frequently during syscalls.

In particular, if we move to a model where elements of the credentials are
independently refcounted (i.e., uidinfo might be scoped by jail() and
refcounted), it would simplify the model substantially. 

I should probably run some statistics and see if it substantially hurts or
not, especially with lots of open files. 

  Robert N M Watson 

robert@fledge.watson.org              http://www.watson.org/~robert/
PGP key fingerprint: AF B5 5F FF A6 4A 79 37  ED 5F 55 E9 58 04 6A B1
TIS Labs at Network Associates, Safeport Network Services

On Wed, 20 Sep 2000, Don Lewis wrote:

> truckman    2000/09/20 05:21:21 PDT
> 
>   Modified files:        (Branch: RELENG_4)
>     sys/kern             vfs_syscalls.c 
>   Log:
>   MFC: 1.163
>   
>   access() shouldn't diddle with the contents of a potentially shared
>   crediential.  Create a temporary copy of the current credential and
>   modify the copy.
>   
>   Submitted by:	tegge
>   
>   Revision   Changes    Path
>   1.151.2.5  +15 -9     src/sys/kern/vfs_syscalls.c
> 
> 
> 



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1000920100342.61948A-100000>