Dear kernel hackers, I am working on the runtime system of a distributed memory programming language. For some reason we need to create a big hole on the address space of the application. We are trying to do so by using an mmap during the initialization of the runtime and then the runtime handles itself those addresses. This scenario works properly when the system allows memory overcommitment. More specifically, we seem to be fine if the /proc/sys/vm/overcommit_memory contains the values 0 or 1. However, we do have problems if memory overcommitment is disabled. So here goes the question: Is there any other mechanism to allow us to do what we want to? Things I 've thought so far: 1) To do my mmaps using PROT_NONE assuming that maybe those pages are not accounted for when calculating overcommitment. I did some tests and it seems that this assumption is wrong. 2) The possibility that there are addresses that are highly unlikely to be mapped in the address space of my application. If there is such an address range I could potentially relax the requirement that I should map all the address space at the beginning of the execution and instead try to mmap it progressively at runtime on a per-need basis. Any thoughts would be helpful. Cheers, Babis
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies