On Fri, Mar 05, 2021 at 04:44:36PM +0100, David Hildenbrand wrote: > On 05.03.21 16:42, Peter Xu wrote: > > On Fri, Mar 05, 2021 at 11:16:33AM +0100, David Hildenbrand wrote: > > > +#define OVERCOMMIT_MEMORY_PATH "/proc/sys/vm/overcommit_memory" > > > +static bool map_noreserve_effective(int fd, bool readonly, bool shared) > > > +{ > > > > [...] > > > > > @@ -184,8 +251,7 @@ void *qemu_ram_mmap(int fd, > > > size_t offset, total; > > > void *ptr, *guardptr; > > > - if (noreserve) { > > > - error_report("Skipping reservation of swap space is not > > > supported"); > > > + if (noreserve && !map_noreserve_effective(fd, shared, readonly)) { > > > > Need to switch "shared" & "readonly"? > > Indeed, interestingly it has the same effect (as we don't have anonymous > read-only memory in QEMU :) )
But note there is still a "g_assert(!shared || fd >= 0);" inside.. :) > > (wouldn't have happened with flags ... hmm) Right. -- Peter Xu