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>