From: Jim Fehlig Date: Fri, 10 Sep 2021 20:34:09 +0000 (-0600) Subject: libxl: Improve reporting of die_id in capabilities X-Git-Tag: v7.8.0-rc1~208 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b75a16ae5e8d9bc9d1b917e20a6d85db3cbc7b82;p=thirdparty%2Flibvirt.git libxl: Improve reporting of die_id in capabilities On Xen, libvirt runs in a VM (typically dom0) and does not have an accurate picture of numa and cpu topology of the underlying physical machine using the "usual" mechanisms. numa info and cpu toplogy are retrieved from libxl and used to populate the libvirt conterparts. Commit 7b79ee2f78b introduced support for reporting die_id in capabilities, but did not account for special handling of numa and cpu topology in libxl. Currently, Xen does not report die_id in the libxl_cputopology structure. In the meantime, set die_id to 0, which was suggested by the Xen developers and is slightly better than random garbage such as Signed-off-by: Jim Fehlig Reviewed-by: Michal Privoznik --- diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index a516910215..d2910cd1e4 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -249,6 +249,8 @@ libxlCapsInitNuma(libxl_ctx *ctx, virCaps *caps) cpus[node][nr_cpus_node[node]-1].id = i; cpus[node][nr_cpus_node[node]-1].socket_id = cpu_topo[i].socket; cpus[node][nr_cpus_node[node]-1].core_id = cpu_topo[i].core; + /* Until Xen reports die_id, 0 is better than random garbage */ + cpus[node][nr_cpus_node[node]-1].die_id = 0; /* Allocate the siblings maps. We will be filling them later */ cpus[node][nr_cpus_node[node]-1].siblings = virBitmapNew(nr_cpus); }