[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 07/14] memory: Introduce RAM_NORESERVE and wire it up in q
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v5 07/14] memory: Introduce RAM_NORESERVE and wire it up in qemu_ram_mmap() |
Date: |
Tue, 20 Apr 2021 12:25:25 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 4/13/21 11:14 AM, 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 will do the reservation, if supported for the memory type.
> "
>
> 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.
>
> Reviewed-by: Peter Xu <peterx@redhat.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> include/exec/cpu-common.h | 1 +
> include/exec/memory.h | 15 ++++++++++++---
> include/exec/ram_addr.h | 3 ++-
> include/qemu/osdep.h | 9 ++++++++-
> migration/ram.c | 3 +--
> softmmu/physmem.c | 15 +++++++++++----
> util/mmap-alloc.c | 7 +++++++
> util/oslib-posix.c | 6 ++++--
> util/oslib-win32.c | 13 ++++++++++++-
> 9 files changed, 58 insertions(+), 14 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
- [PATCH v5 04/14] softmmu/memory: Pass ram_flags to qemu_ram_alloc_from_fd(), (continued)
[PATCH v5 05/14] softmmu/memory: Pass ram_flags to memory_region_init_ram_shared_nomigrate(), David Hildenbrand, 2021/04/13
[PATCH v5 07/14] memory: Introduce RAM_NORESERVE and wire it up in qemu_ram_mmap(), David Hildenbrand, 2021/04/13
- Re: [PATCH v5 07/14] memory: Introduce RAM_NORESERVE and wire it up in qemu_ram_mmap(),
Philippe Mathieu-Daudé <=
[PATCH v5 06/14] util/mmap-alloc: Pass flags instead of separate bools to qemu_ram_mmap(), David Hildenbrand, 2021/04/13
[PATCH v5 08/14] util/mmap-alloc: Support RAM_NORESERVE via MAP_NORESERVE under Linux, David Hildenbrand, 2021/04/13
[PATCH v5 09/14] hostmem: Wire up RAM_NORESERVE via "reserve" property, David Hildenbrand, 2021/04/13
[PATCH v5 10/14] qmp: Clarify memory backend properties returned via query-memdev, David Hildenbrand, 2021/04/13
[PATCH v5 11/14] qmp: Include "share" property of memory backends, David Hildenbrand, 2021/04/13
[PATCH v5 13/14] qmp: Include "reserve" property of memory backends, David Hildenbrand, 2021/04/13
[PATCH v5 14/14] hmp: Print "reserve" property of memory backends with "info memdev", David Hildenbrand, 2021/04/13