On Fri, Mar 19, 2021 at 11:12:26AM +0100, David Hildenbrand wrote: > Let's introduce RAM_NORESERVE, allowing mmap'ing with MAP_NORESERVE. The > new flag has the following semantics: > > " > RAM is mmap-ed with MAP_NORESERVE. When set, reserving swap space (or huge > pages if applicable) is skipped: will bail out if not supported. When not > set, the OS might do the reservation, depending on OS support. > " > > Allow passing it into: > - memory_region_init_ram_nomigrate() > - memory_region_init_resizeable_ram() > - memory_region_init_ram_from_file() > > ... and teach qemu_ram_mmap() and qemu_anon_ram_alloc() about the flag. > Bail out if the flag is not supported, which is the case right now for > both, POSIX and win32. We will add Linux support next and allow specifying > RAM_NORESERVE via memory backends. > > The target use case is virtio-mem, which dynamically exposes memory > inside a large, sparse memory area to the VM. > > Signed-off-by: David Hildenbrand <[email protected]>
Reviewed-by: Peter Xu <[email protected]> -- Peter Xu
