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
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,
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
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.
More information about the samba-technical