Skip site navigation (1)Skip section navigation (2)
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>