I've added support for SMP linux boxes.  Since this is not well tested I've
made it optional - --with-smp-linux on the configure command line.  In the
process I found a bug in the handling of the deletion of task groups in
task.c.

I'm not altogether happy with this because the memory available to OpenDX
in SMP mode is limited to the max size of a shared-memory segment.  On this
machine (with a *lot* of memory) this was set to 33 meg (in
/proc/sys/kernel/shmmax). I changed it successfully, but I don't know the
issues.  Also - I had to create inter-process locking from IPC semaphores,
and its not confidence-inspiring.   I guess what I'm getting at is that
converting OpenDX to a multi-thread implementation, rather than a
multi-process implementation, sound be a very good idea.  Here, it would
remove the dependency on shared memory and we could use pthreads for
locking.

Greg

Reply via email to