Shared memory and IPC

Luke Kenneth Casson Leighton lkcl at samba-tng.org
Mon Sep 10 04:14:02 GMT 2001


On Fri, Sep 07, 2001 at 03:18:55PM -0400, Green, Paul wrote:

hi paul, thanks for responding.

> My advice is to avoid MAP_FIXED at all costs.  

absolutely love to.  however, it's a speed improvement of
a potential two or maybe even three orders of magnitude,
and so cannot be ignored.

and even then, i don't think it can be ignored.

this is for an implementation of DCOM (which, if you remove
the D it becomes COM, too :)

it is necessary to describe data structures and functions
using dce/rpc IDL.

it is then necessary to pass these data structures, via
the function calls, between processes, whether local
or remote.

the remote bit we have covered.  ncacn_ip_tcp and
ncadg_ip_udp (ConnectioN, DataGram, tcp/ip, udp).

there, it doesn't matter if the passing of data structures
is slow, because the network becomes the bottleneck,
with order 1ms or greater response time.

the local bit, suddenly things like packing a 1mb data
structure into a buffer, only to pass it over with a
memcpy or five over to another program on the same host,
become significant.

so basically, although i don't _think_ it's essential
for the first implementation (wez will be able to
correct me here), it's not something that can be 
left as-is.

the implementation has, if you to are pass over data
structures between programs, presumably in exactly
the same way that those DB apps are doing, you must
preserve pointers / memory segment offsets.

and that means using MMAP_FIXED.

if anyone has any better ideas, love to hear them.

all best,

luke




More information about the samba-technical mailing list