Subject: Re: mapping shared memory at a fixed address
To: Todd Vierling <tv@duh.org>
From: Rahul Kulkarni <crypto_rahul@yahoo.com>
List: tech-kern
Date: 02/09/2005 12:37:30
> 
> What duplication?  All code pages are *shared*
> across a fork (and even the
> data pages are shared, until a write) -- meaning
> that there is no
> duplication until the pages diverge in some way
> between the forked
> processes.
> 
> In fact, fork()ing and not exec()ing (when you want
> to share a fixed-mapping
> space) is actually *more* efficient for your
> purposes, because much of your
> data and shlib link tables probably won't be
> written, and thus will remain
> shared after the fork.
> 
> -- 
> -- Todd Vierling <tv@duh.org> <tv@pobox.com>
> 
The application which I'm looking at not only needs a
shared a fixed space, it has a big chunk of private
data. Every child process is a seperate logical entity
and is orthognal to the parent and other child
processes. So, almost all the data pages in individual
children will diverge from the parent and other
children and will be COW..and this duplication or
excess baggage will not suffice and hence the need to
exec(). 

Also, the application has to be split into individual
logical entities to support runtime upgrades to
individual programs rather than one monolith program..


		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250