]> git.proxmox.com Git - mirror_qemu.git/commit - backends/hostmem.c
hostmem: Allow for specifying a ThreadContext for preallocation
authorDavid Hildenbrand <david@redhat.com>
Fri, 14 Oct 2022 13:47:19 +0000 (15:47 +0200)
committerDavid Hildenbrand <david@redhat.com>
Thu, 27 Oct 2022 09:01:03 +0000 (11:01 +0200)
commite6816458624813de4a31f89096a620b410e1c2b8
tree327eb49230110c949e5443ebae4d1fd64336acf8
parente04a34e55cf1911099e2d8a680f9bee4f6d90e4a
hostmem: Allow for specifying a ThreadContext for preallocation

Let's allow for specifying a thread context via the "prealloc-context"
property. When set, preallcoation threads will be crated via the
thread context -- inheriting the same CPU affinity as the thread
context.

Pinning preallcoation threads to CPUs can heavily increase performance
in NUMA setups, because, preallocation from a CPU close to the target
NUMA node(s) is faster then preallocation from a CPU further remote,
simply because of memory bandwidth for initializing memory with zeroes.
This is especially relevant for very large VMs backed by huge/gigantic
pages, whereby preallocation is mandatory.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Message-Id: <20221014134720.168738-7-david@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
backends/hostmem.c
include/sysemu/hostmem.h
qapi/qom.json