]> git.proxmox.com Git - mirror_qemu.git/commit - include/hw/qdev-core.h
oslib-posix: initialize backend memory objects in parallel
authorMark Kanda <mark.kanda@oracle.com>
Wed, 31 Jan 2024 16:53:27 +0000 (10:53 -0600)
committerDavid Hildenbrand <david@redhat.com>
Tue, 6 Feb 2024 07:15:22 +0000 (08:15 +0100)
commit04accf43df83aa10f06f7dbda3ecf0db97f0c5a6
treec5668fe7f5ae98622af2f69ac4f2a97ff219a97a
parent540a1abbf0b243e4cfb4333c5d30a041f7080ba4
oslib-posix: initialize backend memory objects in parallel

QEMU initializes preallocated backend memory as the objects are parsed from
the command line. This is not optimal in some cases (e.g. memory spanning
multiple NUMA nodes) because the memory objects are initialized in series.

Allow the initialization to occur in parallel (asynchronously). In order to
ensure optimal thread placement, asynchronous initialization requires prealloc
context threads to be in use.

Signed-off-by: Mark Kanda <mark.kanda@oracle.com>
Message-ID: <20240131165327.3154970-2-mark.kanda@oracle.com>
Tested-by: Mario Casquero <mcasquer@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
backends/hostmem.c
hw/virtio/virtio-mem.c
include/hw/qdev-core.h
include/qemu/osdep.h
system/vl.c
util/oslib-posix.c
util/oslib-win32.c