Date: Wed, 15 Dec 2004 18:15:52 +0200 From: Peter Pentchev <roam@ringlet.net> To: kamalp@acm.org Cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD system call implementation Message-ID: <20041215161552.GD3225@straylight.m.ringlet.net> In-Reply-To: <20041215155653.87861.qmail@web52707.mail.yahoo.com> References: <20041215151029.GA2832@pm514-9.comsys.ntu-kpi.kiev.ua> <20041215155653.87861.qmail@web52707.mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--NklN7DEeGtkPCoo3 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Dec 15, 2004 at 07:56:53AM -0800, Kamal R. Prasad wrote: >=20 > --- Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua> > wrote: >=20 > > On Wed, Dec 15, 2004 at 08:19:05PM +0530, Ravi > > Krishna wrote: > >=20 > > > My question is why we store the > > p->p_sysent->sv_table > > > for each process. What is the reason for keeping > > this per process? > > > Are there some situations where two processes can > > have different system calls > > > available? > >=20 > > Processes can have different p_sysent, because the > > kernel supports > > different ABIs. sv_entry (pointer to some system > > call table) is >=20 > Sounds rather inefficient to have a per-process table > rather than a set of ABIs into which the per process > table is an indirection (similar to say vnops). Errrr... actually, if you look at <sys/proc.h>, you'll see that this is exactly the way it is - p->p_sysent is a *pointer* to a struct sysentvec, and there are only a few struct sysentvec's in the kernel, definitely not one per process :) G'luck, Peter --=20 Peter Pentchev roam@ringlet.net roam@cnsys.bg roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 The rest of this sentence is written in Thailand, on --NklN7DEeGtkPCoo3 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFBwGM47Ri2jRYZRVMRAr/OAKCOyh2hAzHZCyv/KndvqtFnTqP0awCfUpI5 9ZBslZ5hPrJnc84H8l8pVco= =K/E9 -----END PGP SIGNATURE----- --NklN7DEeGtkPCoo3--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041215161552.GD3225>