mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
Hi,
"Host Memory Backends" and "Memory devices" queue ("mem"): - Fix NVDIMM error message - Add ThreadContext user-creatable object and wire it up for NUMA-aware hostmem preallocation -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAmNbpHARHGRhdmlkQHJl ZGhhdC5jb20ACgkQTd4Q9wD/g1pDpw//bG9cyIlzTzDnU5pbQiXyLm0nF9tW/tli npGPSbFFYz/72XD9VJSVLhbNHoQSmFcMK5m/DA4WAMdOc5zF7lP3XdZcj72pDyxu 31hJRvuRhxNb09jhEdWRfX5+Jg9UyYXuIvtKXHSWgrtaYDtHBdTXq/ojZlvlo/rr 36v0jaVaTNRs7dKQL2oaN+DSMiPXHxBzA6FABqYmJNNwuMJT0kkX8pfz0OFwkRn+ iqf9uRhM6b/fNNB0+ReA7FfGL+hzU6Uv8AvAL3orXUqjwPMRe9Fz2gE7HpFnE6DD dOP4Xk2iSSJ5XQA8HwtvrQfrGPh4gPYE80ziK/+8boy3alVeGYbYbvWVtdsNju41 Cq9kM1wDyjZf6SSUIAbjOrNPdbhwyK4GviVBR1zh+/gA3uF5MhrDtZh4h3mWX2if ijmT9mfte4NwF3K1MvckAl7IHRb8nxmr7wjjhJ26JwpD+76lfAcmXC2YOlFGHCMi 028mjvThf3HW7BD2LjlQSX4UkHmM2vUBrgMGQKyeMham1VmMfSK32wzvUNfF7xSz o9k0loBh7unGcUsv3EbqUGswV5F6AgjK3vWRkDql8dNrdIoapDfaejPCd58kVM98 5N/aEoha4bAeJ6NGIKzD+4saiMxUqJ0y2NjSrE8iO4HszXgZW5e1Gbkn4Ae6d37D QSSqyfasVHY= =bLuc -----END PGP SIGNATURE----- Merge tag 'mem-2022-10-28' of https://github.com/davidhildenbrand/qemu into staging Hi, "Host Memory Backends" and "Memory devices" queue ("mem"): - Fix NVDIMM error message - Add ThreadContext user-creatable object and wire it up for NUMA-aware hostmem preallocation # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAmNbpHARHGRhdmlkQHJl # ZGhhdC5jb20ACgkQTd4Q9wD/g1pDpw//bG9cyIlzTzDnU5pbQiXyLm0nF9tW/tli # npGPSbFFYz/72XD9VJSVLhbNHoQSmFcMK5m/DA4WAMdOc5zF7lP3XdZcj72pDyxu # 31hJRvuRhxNb09jhEdWRfX5+Jg9UyYXuIvtKXHSWgrtaYDtHBdTXq/ojZlvlo/rr # 36v0jaVaTNRs7dKQL2oaN+DSMiPXHxBzA6FABqYmJNNwuMJT0kkX8pfz0OFwkRn+ # iqf9uRhM6b/fNNB0+ReA7FfGL+hzU6Uv8AvAL3orXUqjwPMRe9Fz2gE7HpFnE6DD # dOP4Xk2iSSJ5XQA8HwtvrQfrGPh4gPYE80ziK/+8boy3alVeGYbYbvWVtdsNju41 # Cq9kM1wDyjZf6SSUIAbjOrNPdbhwyK4GviVBR1zh+/gA3uF5MhrDtZh4h3mWX2if # ijmT9mfte4NwF3K1MvckAl7IHRb8nxmr7wjjhJ26JwpD+76lfAcmXC2YOlFGHCMi # 028mjvThf3HW7BD2LjlQSX4UkHmM2vUBrgMGQKyeMham1VmMfSK32wzvUNfF7xSz # o9k0loBh7unGcUsv3EbqUGswV5F6AgjK3vWRkDql8dNrdIoapDfaejPCd58kVM98 # 5N/aEoha4bAeJ6NGIKzD+4saiMxUqJ0y2NjSrE8iO4HszXgZW5e1Gbkn4Ae6d37D # QSSqyfasVHY= # =bLuc # -----END PGP SIGNATURE----- # gpg: Signature made Fri 28 Oct 2022 05:44:16 EDT # gpg: using RSA key 1BD9CAAD735C4C3A460DFCCA4DDE10F700FF835A # gpg: issuer "david@redhat.com" # gpg: Good signature from "David Hildenbrand <david@redhat.com>" [unknown] # gpg: aka "David Hildenbrand <davidhildenbrand@gmail.com>" [full] # gpg: aka "David Hildenbrand <hildenbr@in.tum.de>" [unknown] # gpg: WARNING: The key's User ID is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 1BD9 CAAD 735C 4C3A 460D FCCA 4DDE 10F7 00FF 835A * tag 'mem-2022-10-28' of https://github.com/davidhildenbrand/qemu: vl: Allow ThreadContext objects to be created before the sandbox option hostmem: Allow for specifying a ThreadContext for preallocation util: Make qemu_prealloc_mem() optionally consume a ThreadContext util: Add write-only "node-affinity" property for ThreadContext util: Introduce ThreadContext user-creatable object util: Introduce qemu_thread_set_affinity() and qemu_thread_get_affinity() util: Cleanup and rename os_mem_prealloc() hw/mem/nvdimm: fix error message for 'unarmed' flag Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
commit
7208429223
17 changed files with 642 additions and 31 deletions
36
softmmu/vl.c
36
softmmu/vl.c
|
@ -1759,6 +1759,27 @@ static void object_option_parse(const char *optarg)
|
|||
visit_free(v);
|
||||
}
|
||||
|
||||
/*
|
||||
* Very early object creation, before the sandbox options have been activated.
|
||||
*/
|
||||
static bool object_create_pre_sandbox(const char *type)
|
||||
{
|
||||
/*
|
||||
* Objects should in general not get initialized "too early" without
|
||||
* a reason. If you add one, state the reason in a comment!
|
||||
*/
|
||||
|
||||
/*
|
||||
* Reason: -sandbox on,resourcecontrol=deny disallows setting CPU
|
||||
* affinity of threads.
|
||||
*/
|
||||
if (g_str_equal(type, "thread-context")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initial object creation happens before all other
|
||||
* QEMU data types are created. The majority of objects
|
||||
|
@ -1773,6 +1794,11 @@ static bool object_create_early(const char *type)
|
|||
* add one, state the reason in a comment!
|
||||
*/
|
||||
|
||||
/* Reason: already created. */
|
||||
if (object_create_pre_sandbox(type)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Reason: property "chardev" */
|
||||
if (g_str_equal(type, "rng-egd") ||
|
||||
g_str_equal(type, "qtest")) {
|
||||
|
@ -1895,7 +1921,7 @@ static void qemu_create_early_backends(void)
|
|||
*/
|
||||
static bool object_create_late(const char *type)
|
||||
{
|
||||
return !object_create_early(type);
|
||||
return !object_create_early(type) && !object_create_pre_sandbox(type);
|
||||
}
|
||||
|
||||
static void qemu_create_late_backends(void)
|
||||
|
@ -2351,6 +2377,11 @@ static int process_runstate_actions(void *opaque, QemuOpts *opts, Error **errp)
|
|||
|
||||
static void qemu_process_early_options(void)
|
||||
{
|
||||
qemu_opts_foreach(qemu_find_opts("name"),
|
||||
parse_name, NULL, &error_fatal);
|
||||
|
||||
object_option_foreach_add(object_create_pre_sandbox);
|
||||
|
||||
#ifdef CONFIG_SECCOMP
|
||||
QemuOptsList *olist = qemu_find_opts_err("sandbox", NULL);
|
||||
if (olist) {
|
||||
|
@ -2358,9 +2389,6 @@ static void qemu_process_early_options(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
qemu_opts_foreach(qemu_find_opts("name"),
|
||||
parse_name, NULL, &error_fatal);
|
||||
|
||||
if (qemu_opts_foreach(qemu_find_opts("action"),
|
||||
process_runstate_actions, NULL, &error_fatal)) {
|
||||
exit(1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue