linux kernel memory limit
Did you try to see if only ONE process can allocate more than 3 Gb?
I tell you what I found.
Linux kernel for 32 bit architectures has a hard limit of 3Gb of memory for each process.
Ingo Molnar, the 2.6 kernel scheduler author, made a patch called 4:4 which enables the kernel to allocate up to 4 Gb for a process, even if with some performance loss (in system calls) and some instability.
If you want to use more than 3Gb ( or more than 4 with this patch) you MUST use a 64 bit machine like the Opteron or Itanium.
Currently, I'm having this memory limit problem with the Xilinx flow, and we all know that Xilnx is not able to do good software.
I have not performed a big synthesis with synopsys yet, but I think that synopsys guys are smarter, and find some trick to bypass this problem, like making a fork() of the process when the memory limit is near to 3Gb and let the two or more process to communicate between each other with something like pipes.
Maybe it is not very performing, but at least it is possible to close a design.
With the XIlinx EDK and XST it is not possible at all!
I would like to receive some feedback from the ASIC flow side.
What to do with huge synthesis or P&R?
Cheers.
Fib.