From owner-freebsd-hackers@FreeBSD.ORG Wed Dec 15 16:15:56 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 688FC16A4CE for ; Wed, 15 Dec 2004 16:15:56 +0000 (GMT) Received: from gandalf.online.bg (gandalf.online.bg [217.75.128.9]) by mx1.FreeBSD.org (Postfix) with SMTP id D7BD743D4C for ; Wed, 15 Dec 2004 16:15:54 +0000 (GMT) (envelope-from roam@ringlet.net) Received: (qmail 25854 invoked from network); 15 Dec 2004 16:15:48 -0000 Received: from unknown (HELO straylight.ringlet.net) (213.16.36.84) by gandalf.online.bg with SMTP; 15 Dec 2004 16:15:48 -0000 Received: (qmail 32473 invoked by uid 1000); 15 Dec 2004 16:15:52 -0000 Date: Wed, 15 Dec 2004 18:15:52 +0200 From: Peter Pentchev To: kamalp@acm.org Message-ID: <20041215161552.GD3225@straylight.m.ringlet.net> Mail-Followup-To: kamalp@acm.org, Andrey Simonenko , freebsd-hackers@freebsd.org References: <20041215151029.GA2832@pm514-9.comsys.ntu-kpi.kiev.ua> <20041215155653.87861.qmail@web52707.mail.yahoo.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="NklN7DEeGtkPCoo3" Content-Disposition: inline In-Reply-To: <20041215155653.87861.qmail@web52707.mail.yahoo.com> User-Agent: Mutt/1.5.6i cc: Andrey Simonenko cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD system call implementation X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2004 16:15:56 -0000 --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 > 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 , 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--