[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 0/8] virtio-mem: Support "prealloc=on"
From: |
Michal Prívozník |
Subject: |
Re: [PATCH v1 0/8] virtio-mem: Support "prealloc=on" |
Date: |
Tue, 30 Nov 2021 17:32:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 |
On 11/30/21 11:41, David Hildenbrand wrote:
> Based-on: <20211130092838.24224-1-david@redhat.com>
>
> Patch #1 - #7 are fully reviewed [1] but did not get picked up yet, so I'm
> sending them along here, as they are required to use os_mem_prealloc() in
> a safe way once the VM is running.
>
> Support preallocation of memory to make virtio-mem safe to use with
> scarce memory resources such as hugetlb. Before acknowledging a plug
> request from the guest, we'll try preallcoating memory. If that fails,
> we'll fail the request gracefully and warn the usr once.
>
> To fully support huge pages for shared memory, we'll have to adjust shared
> memory users, such as virtiofsd, to map guest memory via MAP_NORESERVE as
> well, because otherwise, they'll end up overwriting the "reserve=off"
> decision made by QEMU and try reserving huge pages for the sparse memory
> region.
>
> In the future, we might want to process guest requests, including
> preallocating memory, asynchronously via a dedicated iothread.
>
> [1] https://lkml.kernel.org/r/20211004120208.7409-1-david@redhat.com
>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Cc: Daniel P. Berrangé <berrange@redhat.com>
> Cc: Gavin Shan <gshan@redhat.com>
> Cc: Hui Zhu <teawater@gmail.com>
> Cc: Sebastien Boeuf <sebastien.boeuf@intel.com>
> Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
> Cc: Michal Prívozník <mprivozn@redhat.com>
>
> David Hildenbrand (8):
> util/oslib-posix: Let touch_all_pages() return an error
> util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc()
> util/oslib-posix: Introduce and use MemsetContext for
> touch_all_pages()
> util/oslib-posix: Don't create too many threads with small memory or
> little pages
> util/oslib-posix: Avoid creating a single thread with
> MADV_POPULATE_WRITE
> util/oslib-posix: Support concurrent os_mem_prealloc() invocation
> util/oslib-posix: Forward SIGBUS to MCE handler under Linux
> virtio-mem: Support "prealloc=on" option
>
> hw/virtio/virtio-mem.c | 39 +++++-
> include/hw/virtio/virtio-mem.h | 4 +
> include/qemu/osdep.h | 7 +
> softmmu/cpus.c | 4 +
> util/oslib-posix.c | 231 +++++++++++++++++++++++++--------
> 5 files changed, 226 insertions(+), 59 deletions(-)
>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Michal
- [PATCH v1 0/8] virtio-mem: Support "prealloc=on", David Hildenbrand, 2021/11/30
- [PATCH v1 1/8] util/oslib-posix: Let touch_all_pages() return an error, David Hildenbrand, 2021/11/30
- [PATCH v1 2/8] util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc(), David Hildenbrand, 2021/11/30
- [PATCH v1 4/8] util/oslib-posix: Don't create too many threads with small memory or little pages, David Hildenbrand, 2021/11/30
- [PATCH v1 3/8] util/oslib-posix: Introduce and use MemsetContext for touch_all_pages(), David Hildenbrand, 2021/11/30
- [PATCH v1 5/8] util/oslib-posix: Avoid creating a single thread with MADV_POPULATE_WRITE, David Hildenbrand, 2021/11/30
- [PATCH v1 7/8] util/oslib-posix: Forward SIGBUS to MCE handler under Linux, David Hildenbrand, 2021/11/30
- [PATCH v1 6/8] util/oslib-posix: Support concurrent os_mem_prealloc() invocation, David Hildenbrand, 2021/11/30
- [PATCH v1 8/8] virtio-mem: Support "prealloc=on" option, David Hildenbrand, 2021/11/30
- Re: [PATCH v1 0/8] virtio-mem: Support "prealloc=on",
Michal Prívozník <=