Newsgroups: comp.unix.aix
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!batcomputer!theory.TC.Cornell.EDU!shore
From: shore@theory.TC.Cornell.EDU (Melinda Shore)
Subject: Re: vfork() (was Re: RS6000 questions/comments)
Message-ID: <1991Jun30.194451.17962@batcomputer.tn.cornell.edu>
Sender: news@batcomputer.tn.cornell.edu
Nntp-Posting-Host: theory.tc.cornell.edu
Organization: Cornell Theory Center
References: <889@rufus.UUCP> <19439@rpp386.cactus.org> <DERAADT.91Jun30030305@fsa.cpsc.ucalgary.ca>
Distribution: usa
Date: Sun, 30 Jun 1991 19:44:51 GMT

In article <DERAADT.91Jun30030305@fsa.cpsc.ucalgary.ca> deraadt@cpsc.ucalgary.ca (Theo de Raadt) writes:
>I suggest those who say that vfork() is not needed anymore try this test
>on their machine.

Well, since vfork on our AIX system (AIX/370) looks something like this:

	#define vfork fork

vfork doesn't buy us much :-).  vfork is a BSD thing, and you can't
count on finding it in every Unix.  As it is said, "the only well-
behaved program is one which doesn't do any system calls."

It's not surprising that there's a performance penalty even if the cost
is just that of copying the page tables.  Note that this is an
implementation deficiency, however, not something intrinsic.  Also,
this seems to me to be micro-optimization.  It's very, very rare to see
more than 3 forks/second on our machine, even when we have a large
number of users on doing interactive work.
-- 
                  Software longa, hardware brevis
Melinda Shore - Cornell Information Technologies - shore@tc.cornell.edu
