On Fri, Mar 05, 2021 at 11:16:32AM +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 on Linux) is skipped: will bail out if not supported. When not > set, the OS might reserve swap space (or huge pages on Linux), 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 the POSIX mmap implementation 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. > > Cc: Juan Quintela <quint...@redhat.com> > Cc: Halil Pasic <pa...@linux.ibm.com> > Cc: Cornelia Huck <coh...@redhat.com> > Cc: Christian Borntraeger <borntrae...@de.ibm.com> > Cc: Thomas Huth <th...@redhat.com> > Cc: Stefan Weil <s...@weilnetz.de> > Cc: k...@vger.kernel.org > Cc: qemu-s3...@nongnu.org > Signed-off-by: David Hildenbrand <da...@redhat.com>
Reviewed-by: Peter Xu <pet...@redhat.com> -- Peter Xu