Superpages on amd64 FreeBSD 7.2-STABLE

Robert Watson rwatson at
Sat Dec 12 13:38:49 UTC 2009

On Thu, 10 Dec 2009, Nate Eldredge wrote:

> What about using posix_spawn(3)?  This is implemented in terms of vfork(), 
> so you'll gain the same performance advantages, but it avoids many of 
> vfork's pitfalls.  Also, since it's a POSIX standard function, you needn't 
> worry that it will go away or change its semantics someday.

Just as a note here: while we do posix_spawn(3) as a library function, Mac OS 
X does it as a system call.  As a result, they can implement certain spawn 
flags that we can't, among others, the ability to have the newly created 
process/image be suspended before its first instruction executes.  This would 
be very useful when debugging the runtime linker, among other things.  On the 
other hand, it's quite a complex kernel code path...

Robert N M Watson
Computer Laboratory
University of Cambridge

More information about the freebsd-hackers mailing list