On 28.06.2012, at 02:06, Paul Brook wrote: >>> openSUSE uses a version patched so that IIUC 3G are reserved. >>> Just today this failed on a system where swap got disabled and the >>> mmap() thus failed. >> >> Err... why? We map with MAP_NORESERVE, so swap shouldn't matter... > > I can't say if it's the same cause, but we fail with "ulimit -v 4046848". > > Incidentally, it seems a strange that we only reserve 0xf7000000 bytes, not > the full 4G.
Uh, I think that was because of the vdso shared page that is allocated on top of -R. Either way, this whole approach only works for 32-on-64. For 64-on-64, we can't reserve enough virtual memory on the host to satisfy the guest process for all archs. Alex