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


Reply via email to