From: Gary Mills on
It seems that the DCC (Distributed Checksum Clearinghouse) database
behaves differently if the OS includes the mmap flag MAP_NOSYNC. This
flag exists in some BSD and Linux distributions, but not in Solaris or
Opensolaris. The BSD man page says this:

Causes data dirtied via this VM map to be flushed to physical media
only when necessary (usually by the pager) rather than
gratuitously. Typically this prevents the update daemons from flushing
pages dirtied through such maps and thus allows efficient sharing of
memory across unassociated processes using a file-backed shared memory
map. Without this option any VM pages you dirty may be flushed to disk
every so often (every 30-60 seconds usually) which can create
performance problems if you do not need that to occur

Can somebody who knows about mmap() comment on the need for MAP_NOSYNC
in Solaris. Does Solaris' memory mapping behave well without that
flag? Is Solaris lacking an essential feature?

--
-Gary Mills- -Unix Group- -Computer and Network Services-
From: Casper H.S. Dik on
Gary Mills <mills(a)cc.umanitoba.ca> writes:

>It seems that the DCC (Distributed Checksum Clearinghouse) database
>behaves differently if the OS includes the mmap flag MAP_NOSYNC. This
>flag exists in some BSD and Linux distributions, but not in Solaris or
>Opensolaris. The BSD man page says this:

> Causes data dirtied via this VM map to be flushed to physical media
> only when necessary (usually by the pager) rather than
> gratuitously. Typically this prevents the update daemons from flushing
> pages dirtied through such maps and thus allows efficient sharing of
> memory across unassociated processes using a file-backed shared memory
> map. Without this option any VM pages you dirty may be flushed to disk
> every so often (every 30-60 seconds usually) which can create
> performance problems if you do not need that to occur

>Can somebody who knows about mmap() comment on the need for MAP_NOSYNC
>in Solaris. Does Solaris' memory mapping behave well without that
>flag? Is Solaris lacking an essential feature?

If the data is not supposed to be flushed to disk, then it makes more
sense to use SysV shared memory.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.