v2: - require MADV_POPULATE_WRITE (simplify the implementation) - require prealloc context threads to ensure optimal thread placement - use machine phase 'initialized' to detremine when to allow parallel init
QEMU initializes preallocated backend memory when parsing the corresponding objects from the command line. In certain scenarios, such as memory being preallocated across multiple numa nodes, this approach is not optimal due to the unnecessary serialization. This series addresses this issue by initializing the backend memory objects in parallel. Mark Kanda (2): oslib-posix: refactor memory prealloc threads oslib-posix: initialize backend memory objects in parallel backends/hostmem.c | 8 +++- hw/virtio/virtio-mem.c | 4 +- include/qemu/osdep.h | 14 +++++- system/vl.c | 6 +++ util/oslib-posix.c | 103 ++++++++++++++++++++++++++++------------- util/oslib-win32.c | 8 +++- 6 files changed, 103 insertions(+), 40 deletions(-) -- 2.39.3