Blob Blame History Raw
From 15b2ac591a1c024ecf92a7e40d22eed6e59684b8 Mon Sep 17 00:00:00 2001
Message-Id: <15b2ac591a1c024ecf92a7e40d22eed6e59684b8@dist-git>
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Date: Mon, 3 Feb 2020 18:07:25 +0000
Subject: [PATCH] hostcpu: add support for reporting die_id in NUMA topology
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Update the host CPU code to report the die_id in the NUMA topology
capabilities. On systems with multiple dies, this fixes the bug
where CPU cores can't be distinguished:

 <cpus num='12'>
   <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
   <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
   <cpu id='2' socket_id='0' core_id='0' siblings='2'/>
   <cpu id='3' socket_id='0' core_id='1' siblings='3'/>
 </cpus>

Notice how core_id is repeated within the scope of the same socket_id.

It now reports

 <cpus num='12'>
   <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
   <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
   <cpu id='2' socket_id='0' die_id='1' core_id='0' siblings='2'/>
   <cpu id='3' socket_id='0' die_id='1' core_id='1' siblings='3'/>
 </cpus>

So core_id is now unique within a (socket_id, die_id) pair.

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit 7b79ee2f78bbf2af76df2f6466919e19ae05aeeb)

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1785211
Message-Id: <20200203180726.2203691-5-berrange@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
---
 docs/schemas/capability.rng                   |  3 ++
 src/conf/capabilities.c                       |  5 ++-
 src/conf/capabilities.h                       |  1 +
 src/libvirt_linux.syms                        |  1 +
 src/util/virhostcpu.c                         | 16 ++++++++++
 src/util/virhostcpu.h                         |  1 +
 .../vircaps2xmldata/vircaps-aarch64-basic.xml | 32 +++++++++----------
 .../vircaps2xmldata/vircaps-x86_64-basic.xml  | 32 +++++++++----------
 .../vircaps2xmldata/vircaps-x86_64-caches.xml | 16 +++++-----
 .../vircaps-x86_64-resctrl-cdp.xml            | 24 +++++++-------
 .../vircaps-x86_64-resctrl-cmt.xml            | 24 +++++++-------
 .../vircaps-x86_64-resctrl-fake-feature.xml   | 24 +++++++-------
 .../vircaps-x86_64-resctrl-skx-twocaches.xml  |  2 +-
 .../vircaps-x86_64-resctrl-skx.xml            |  2 +-
 .../vircaps-x86_64-resctrl.xml                | 24 +++++++-------
 15 files changed, 116 insertions(+), 91 deletions(-)

diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index 91ee523116..031c55bf20 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -265,6 +265,9 @@
         <attribute name='socket_id'>
           <ref name='unsignedInt'/>
         </attribute>
+        <attribute name='die_id'>
+          <ref name='unsignedInt'/>
+        </attribute>
         <attribute name='core_id'>
           <ref name='unsignedInt'/>
         </attribute>
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index bf1d9936ed..4bbc79334e 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -874,8 +874,9 @@ virCapabilitiesHostNUMAFormat(virCapsHostNUMAPtr caps,
                     return -1;
 
                 virBufferAsprintf(buf,
-                                  " socket_id='%d' core_id='%d' siblings='%s'",
+                                  " socket_id='%d' die_id='%d' core_id='%d' siblings='%s'",
                                   cell->cpus[j].socket_id,
+                                  cell->cpus[j].die_id,
                                   cell->cpus[j].core_id,
                                   siblings);
                 VIR_FREE(siblings);
@@ -1463,6 +1464,7 @@ virCapabilitiesFillCPUInfo(int cpu_id G_GNUC_UNUSED,
     cpu->id = cpu_id;
 
     if (virHostCPUGetSocket(cpu_id, &cpu->socket_id) < 0 ||
+        virHostCPUGetDie(cpu_id, &cpu->die_id) < 0 ||
         virHostCPUGetCore(cpu_id, &cpu->core_id) < 0)
         return -1;
 
@@ -1591,6 +1593,7 @@ virCapabilitiesHostNUMAInitFake(virCapsHostNUMAPtr caps)
                         goto error;
                     if (tmp) {
                         cpus[cid].id = id;
+                        cpus[cid].die_id = 0;
                         cpus[cid].socket_id = s;
                         cpus[cid].core_id = c;
                         if (!(cpus[cid].siblings = virBitmapNew(ncpus)))
diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h
index 4a49e94aa5..75f29666c9 100644
--- a/src/conf/capabilities.h
+++ b/src/conf/capabilities.h
@@ -88,6 +88,7 @@ struct _virCapsGuest {
 struct _virCapsHostNUMACellCPU {
     unsigned int id;
     unsigned int socket_id;
+    unsigned int die_id;
     unsigned int core_id;
     virBitmapPtr siblings;
 };
diff --git a/src/libvirt_linux.syms b/src/libvirt_linux.syms
index 5fa2c790ef..55649ae39c 100644
--- a/src/libvirt_linux.syms
+++ b/src/libvirt_linux.syms
@@ -4,6 +4,7 @@
 
 # util/virhostcpu.h
 virHostCPUGetCore;
+virHostCPUGetDie;
 virHostCPUGetInfoPopulateLinux;
 virHostCPUGetSiblingsList;
 virHostCPUGetSocket;
diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
index 256976cce1..09c959cd25 100644
--- a/src/util/virhostcpu.c
+++ b/src/util/virhostcpu.c
@@ -218,6 +218,22 @@ virHostCPUGetSocket(unsigned int cpu, unsigned int *socket)
     return 0;
 }
 
+int
+virHostCPUGetDie(unsigned int cpu, unsigned int *die)
+{
+    int ret = virFileReadValueUint(die,
+                                   "%s/cpu/cpu%u/topology/die_id",
+                                   SYSFS_SYSTEM_PATH, cpu);
+
+    /* If the file is not there, it's 0 */
+    if (ret == -2)
+        *die = 0;
+    else if (ret < 0)
+        return -1;
+
+    return 0;
+}
+
 int
 virHostCPUGetCore(unsigned int cpu, unsigned int *core)
 {
diff --git a/src/util/virhostcpu.h b/src/util/virhostcpu.h
index d95d380d4a..9be2e51a38 100644
--- a/src/util/virhostcpu.h
+++ b/src/util/virhostcpu.h
@@ -65,6 +65,7 @@ int virHostCPUStatsAssign(virNodeCPUStatsPtr param,
 
 #ifdef __linux__
 int virHostCPUGetSocket(unsigned int cpu, unsigned int *socket);
+int virHostCPUGetDie(unsigned int cpu, unsigned int *die);
 int virHostCPUGetCore(unsigned int cpu, unsigned int *core);
 
 virBitmapPtr virHostCPUGetSiblingsList(unsigned int cpu);
diff --git a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml
index 50466f9162..0a04052c40 100644
--- a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml
+++ b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml
@@ -16,10 +16,10 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='4'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/>
           </cpus>
         </cell>
         <cell id='1'>
@@ -28,10 +28,10 @@
           <pages unit='KiB' size='2048'>6144</pages>
           <pages unit='KiB' size='1048576'>8192</pages>
           <cpus num='4'>
-            <cpu id='4' socket_id='1' core_id='4' siblings='4'/>
-            <cpu id='5' socket_id='1' core_id='5' siblings='5'/>
-            <cpu id='6' socket_id='1' core_id='6' siblings='6'/>
-            <cpu id='7' socket_id='1' core_id='7' siblings='7'/>
+            <cpu id='4' socket_id='1' die_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='1' die_id='0' core_id='5' siblings='5'/>
+            <cpu id='6' socket_id='1' die_id='0' core_id='6' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' core_id='7' siblings='7'/>
           </cpus>
         </cell>
         <cell id='2'>
@@ -40,10 +40,10 @@
           <pages unit='KiB' size='2048'>8192</pages>
           <pages unit='KiB' size='1048576'>10240</pages>
           <cpus num='4'>
-            <cpu id='8' socket_id='2' core_id='8' siblings='8'/>
-            <cpu id='9' socket_id='2' core_id='9' siblings='9'/>
-            <cpu id='10' socket_id='2' core_id='10' siblings='10'/>
-            <cpu id='11' socket_id='2' core_id='11' siblings='11'/>
+            <cpu id='8' socket_id='2' die_id='0' core_id='8' siblings='8'/>
+            <cpu id='9' socket_id='2' die_id='0' core_id='9' siblings='9'/>
+            <cpu id='10' socket_id='2' die_id='0' core_id='10' siblings='10'/>
+            <cpu id='11' socket_id='2' die_id='0' core_id='11' siblings='11'/>
           </cpus>
         </cell>
         <cell id='3'>
@@ -52,10 +52,10 @@
           <pages unit='KiB' size='2048'>10240</pages>
           <pages unit='KiB' size='1048576'>12288</pages>
           <cpus num='4'>
-            <cpu id='12' socket_id='3' core_id='12' siblings='12'/>
-            <cpu id='13' socket_id='3' core_id='13' siblings='13'/>
-            <cpu id='14' socket_id='3' core_id='14' siblings='14'/>
-            <cpu id='15' socket_id='3' core_id='15' siblings='15'/>
+            <cpu id='12' socket_id='3' die_id='0' core_id='12' siblings='12'/>
+            <cpu id='13' socket_id='3' die_id='0' core_id='13' siblings='13'/>
+            <cpu id='14' socket_id='3' die_id='0' core_id='14' siblings='14'/>
+            <cpu id='15' socket_id='3' die_id='0' core_id='15' siblings='15'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml
index e7be6def3e..4da09f889c 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml
@@ -14,10 +14,10 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='4'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/>
           </cpus>
         </cell>
         <cell id='1'>
@@ -26,10 +26,10 @@
           <pages unit='KiB' size='2048'>6144</pages>
           <pages unit='KiB' size='1048576'>8192</pages>
           <cpus num='4'>
-            <cpu id='4' socket_id='1' core_id='4' siblings='4'/>
-            <cpu id='5' socket_id='1' core_id='5' siblings='5'/>
-            <cpu id='6' socket_id='1' core_id='6' siblings='6'/>
-            <cpu id='7' socket_id='1' core_id='7' siblings='7'/>
+            <cpu id='4' socket_id='1' die_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='1' die_id='0' core_id='5' siblings='5'/>
+            <cpu id='6' socket_id='1' die_id='0' core_id='6' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' core_id='7' siblings='7'/>
           </cpus>
         </cell>
         <cell id='2'>
@@ -38,10 +38,10 @@
           <pages unit='KiB' size='2048'>8192</pages>
           <pages unit='KiB' size='1048576'>10240</pages>
           <cpus num='4'>
-            <cpu id='8' socket_id='2' core_id='8' siblings='8'/>
-            <cpu id='9' socket_id='2' core_id='9' siblings='9'/>
-            <cpu id='10' socket_id='2' core_id='10' siblings='10'/>
-            <cpu id='11' socket_id='2' core_id='11' siblings='11'/>
+            <cpu id='8' socket_id='2' die_id='0' core_id='8' siblings='8'/>
+            <cpu id='9' socket_id='2' die_id='0' core_id='9' siblings='9'/>
+            <cpu id='10' socket_id='2' die_id='0' core_id='10' siblings='10'/>
+            <cpu id='11' socket_id='2' die_id='0' core_id='11' siblings='11'/>
           </cpus>
         </cell>
         <cell id='3'>
@@ -50,10 +50,10 @@
           <pages unit='KiB' size='2048'>10240</pages>
           <pages unit='KiB' size='1048576'>12288</pages>
           <cpus num='4'>
-            <cpu id='12' socket_id='3' core_id='12' siblings='12'/>
-            <cpu id='13' socket_id='3' core_id='13' siblings='13'/>
-            <cpu id='14' socket_id='3' core_id='14' siblings='14'/>
-            <cpu id='15' socket_id='3' core_id='15' siblings='15'/>
+            <cpu id='12' socket_id='3' die_id='0' core_id='12' siblings='12'/>
+            <cpu id='13' socket_id='3' die_id='0' core_id='13' siblings='13'/>
+            <cpu id='14' socket_id='3' die_id='0' core_id='14' siblings='14'/>
+            <cpu id='15' socket_id='3' die_id='0' core_id='15' siblings='15'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml
index ca671a1640..28f00c0a90 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml
@@ -17,14 +17,14 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='8'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0,4'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1,5'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2,6'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3,7'/>
-            <cpu id='4' socket_id='0' core_id='0' siblings='0,4'/>
-            <cpu id='5' socket_id='0' core_id='1' siblings='1,5'/>
-            <cpu id='6' socket_id='0' core_id='2' siblings='2,6'/>
-            <cpu id='7' socket_id='0' core_id='3' siblings='3,7'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0,4'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1,5'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2,6'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3,7'/>
+            <cpu id='4' socket_id='0' die_id='0' core_id='0' siblings='0,4'/>
+            <cpu id='5' socket_id='0' die_id='0' core_id='1' siblings='1,5'/>
+            <cpu id='6' socket_id='0' die_id='0' core_id='2' siblings='2,6'/>
+            <cpu id='7' socket_id='0' die_id='0' core_id='3' siblings='3,7'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
index 1d3df318c5..ee26fe9464 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
@@ -17,12 +17,12 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='6'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
-            <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
-            <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/>
           </cpus>
         </cell>
         <cell id='1'>
@@ -31,12 +31,12 @@
           <pages unit='KiB' size='2048'>6144</pages>
           <pages unit='KiB' size='1048576'>8192</pages>
           <cpus num='6'>
-            <cpu id='6' socket_id='1' core_id='0' siblings='6'/>
-            <cpu id='7' socket_id='1' core_id='1' siblings='7'/>
-            <cpu id='8' socket_id='1' core_id='2' siblings='8'/>
-            <cpu id='9' socket_id='1' core_id='3' siblings='9'/>
-            <cpu id='10' socket_id='1' core_id='4' siblings='10'/>
-            <cpu id='11' socket_id='1' core_id='5' siblings='11'/>
+            <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml
index 6a8cd0e909..acdd97ec58 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml
@@ -17,12 +17,12 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='6'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
-            <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
-            <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/>
           </cpus>
         </cell>
         <cell id='1'>
@@ -31,12 +31,12 @@
           <pages unit='KiB' size='2048'>6144</pages>
           <pages unit='KiB' size='1048576'>8192</pages>
           <cpus num='6'>
-            <cpu id='6' socket_id='1' core_id='0' siblings='6'/>
-            <cpu id='7' socket_id='1' core_id='1' siblings='7'/>
-            <cpu id='8' socket_id='1' core_id='2' siblings='8'/>
-            <cpu id='9' socket_id='1' core_id='3' siblings='9'/>
-            <cpu id='10' socket_id='1' core_id='4' siblings='10'/>
-            <cpu id='11' socket_id='1' core_id='5' siblings='11'/>
+            <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml
index 4e46ead616..5f3678e072 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml
@@ -17,12 +17,12 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='6'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
-            <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
-            <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/>
           </cpus>
         </cell>
         <cell id='1'>
@@ -31,12 +31,12 @@
           <pages unit='KiB' size='2048'>6144</pages>
           <pages unit='KiB' size='1048576'>8192</pages>
           <cpus num='6'>
-            <cpu id='6' socket_id='1' core_id='0' siblings='6'/>
-            <cpu id='7' socket_id='1' core_id='1' siblings='7'/>
-            <cpu id='8' socket_id='1' core_id='2' siblings='8'/>
-            <cpu id='9' socket_id='1' core_id='3' siblings='9'/>
-            <cpu id='10' socket_id='1' core_id='4' siblings='10'/>
-            <cpu id='11' socket_id='1' core_id='5' siblings='11'/>
+            <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml
index 44c1042afe..6769bd0591 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml
@@ -17,7 +17,7 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='1'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml
index 8382a26c7a..bc52480905 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml
@@ -17,7 +17,7 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='1'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
index a27b3e247e..c386edd4b0 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
@@ -17,12 +17,12 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <cpus num='6'>
-            <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
-            <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
-            <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
-            <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
-            <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
-            <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
+            <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' core_id='5' siblings='5'/>
           </cpus>
         </cell>
         <cell id='1'>
@@ -31,12 +31,12 @@
           <pages unit='KiB' size='2048'>6144</pages>
           <pages unit='KiB' size='1048576'>8192</pages>
           <cpus num='6'>
-            <cpu id='6' socket_id='1' core_id='0' siblings='6'/>
-            <cpu id='7' socket_id='1' core_id='1' siblings='7'/>
-            <cpu id='8' socket_id='1' core_id='2' siblings='8'/>
-            <cpu id='9' socket_id='1' core_id='3' siblings='9'/>
-            <cpu id='10' socket_id='1' core_id='4' siblings='10'/>
-            <cpu id='11' socket_id='1' core_id='5' siblings='11'/>
+            <cpu id='6' socket_id='1' die_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' core_id='5' siblings='11'/>
           </cpus>
         </cell>
       </cells>
-- 
2.25.0