From baa40f939ab38d80597651aec82779af25599bb0 Mon Sep 17 00:00:00 2001
From: zhangxinhao <zhangxinhao1@huawei.com>
Date: Tue, 9 May 2023 23:28:59 +0800
Subject: cpu_topo: support for reporting cluster_id in NUMA
 topology

Support report the die_id in the NUMA topology capabilities.

Signed-off-by: zhangxinhao <zhangxinhao1@huawei.com>
---
 docs/schemas/capability.rng                   |  3 ++
 src/conf/capabilities.c                       |  4 ++-
 src/conf/capabilities.h                       |  1 +
 src/libvirt_linux.syms                        |  1 +
 src/util/virhostcpu.c                         | 22 +++++++++++++
 src/util/virhostcpu.h                         |  1 +
 .../vircaps2xmldata/vircaps-aarch64-basic.xml | 32 +++++++++----------
 .../vircaps-x86_64-basic-dies.xml             | 24 +++++++-------
 .../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 +++++++-------
 16 files changed, 133 insertions(+), 103 deletions(-)

diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index 031c55bf20..f5b37d8c18 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -268,6 +268,9 @@
         <attribute name='die_id'>
           <ref name='unsignedInt'/>
         </attribute>
+        <attribute name='cluster_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 12c8c3a324..3c3a66a78a 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -874,9 +874,10 @@ virCapabilitiesHostNUMAFormat(virCapsHostNUMAPtr caps,
                     return -1;
 
                 virBufferAsprintf(buf,
-                                  " socket_id='%d' die_id='%d' core_id='%d' siblings='%s'",
+                                  " socket_id='%d' die_id='%d' cluster_id='%d' core_id='%d' siblings='%s'",
                                   cell->cpus[j].socket_id,
                                   cell->cpus[j].die_id,
+                                  cell->cpus[j].cluster_id,
                                   cell->cpus[j].core_id,
                                   siblings);
                 VIR_FREE(siblings);
@@ -1465,6 +1466,7 @@ virCapabilitiesFillCPUInfo(int cpu_id G_GNUC_UNUSED,
 
     if (virHostCPUGetSocket(cpu_id, &cpu->socket_id) < 0 ||
         virHostCPUGetDie(cpu_id, &cpu->die_id) < 0 ||
+        virHostCPUGetCluster(cpu_id, &cpu->cluster_id) < 0 ||
         virHostCPUGetCore(cpu_id, &cpu->core_id) < 0)
         return -1;
 
diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h
index e2581fac8b..f88bb412b5 100644
--- a/src/conf/capabilities.h
+++ b/src/conf/capabilities.h
@@ -89,6 +89,7 @@ struct _virCapsHostNUMACellCPU {
     unsigned int id;
     unsigned int socket_id;
     unsigned int die_id;
+    unsigned int cluster_id;
     unsigned int core_id;
     virBitmapPtr siblings;
 };
diff --git a/src/libvirt_linux.syms b/src/libvirt_linux.syms
index 55649ae39c..004cbfee97 100644
--- a/src/libvirt_linux.syms
+++ b/src/libvirt_linux.syms
@@ -3,6 +3,7 @@
 #
 
 # util/virhostcpu.h
+virHostCPUGetCluster;
 virHostCPUGetCore;
 virHostCPUGetDie;
 virHostCPUGetInfoPopulateLinux;
diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
index 8c8fc3a476..d2ac31e784 100644
--- a/src/util/virhostcpu.c
+++ b/src/util/virhostcpu.c
@@ -240,6 +240,28 @@ virHostCPUGetDie(unsigned int cpu, unsigned int *die)
     return 0;
 }
 
+int
+virHostCPUGetCluster(unsigned int cpu, unsigned int *cluster)
+{
+    int cluster_id;
+    int ret = virFileReadValueInt(&cluster_id,
+                                  "%s/cpu/cpu%u/topology/cluster_id",
+                                  SYSFS_SYSTEM_PATH, cpu);
+    if (ret == -1)
+        return -1;
+
+    /* If the file is not there, it's 0.
+     * Another alternative is cluster_id set to -1, meaning that
+     * the arch does not have cluster_id support. Set @cluster to
+     * 0 in this case too. */
+    if (ret == -2 || cluster_id < 0)
+        cluster_id = 0;
+
+    *cluster = cluster_id;
+
+    return 0;
+}
+
 int
 virHostCPUGetCore(unsigned int cpu, unsigned int *core)
 {
diff --git a/src/util/virhostcpu.h b/src/util/virhostcpu.h
index 9be2e51a38..e3a04c2eeb 100644
--- a/src/util/virhostcpu.h
+++ b/src/util/virhostcpu.h
@@ -66,6 +66,7 @@ int virHostCPUStatsAssign(virNodeCPUStatsPtr param,
 #ifdef __linux__
 int virHostCPUGetSocket(unsigned int cpu, unsigned int *socket);
 int virHostCPUGetDie(unsigned int cpu, unsigned int *die);
+int virHostCPUGetCluster(unsigned int cpu, unsigned int *cluster);
 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 0a04052c40..5533ae0586 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' 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='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_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' 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'/>
+            <cpu id='4' socket_id='1' die_id='0' cluster_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='1' die_id='0' cluster_id='0' core_id='5' siblings='5'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='6' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_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' 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'/>
+            <cpu id='8' socket_id='2' die_id='0' cluster_id='0' core_id='8' siblings='8'/>
+            <cpu id='9' socket_id='2' die_id='0' cluster_id='0' core_id='9' siblings='9'/>
+            <cpu id='10' socket_id='2' die_id='0' cluster_id='0' core_id='10' siblings='10'/>
+            <cpu id='11' socket_id='2' die_id='0' cluster_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' 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'/>
+            <cpu id='12' socket_id='3' die_id='0' cluster_id='0' core_id='12' siblings='12'/>
+            <cpu id='13' socket_id='3' die_id='0' cluster_id='0' core_id='13' siblings='13'/>
+            <cpu id='14' socket_id='3' die_id='0' cluster_id='0' core_id='14' siblings='14'/>
+            <cpu id='15' socket_id='3' die_id='0' cluster_id='0' core_id='15' siblings='15'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml
index 8a3ca2d13c..c86dc4defc 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml
@@ -14,18 +14,18 @@
           <pages unit='KiB' size='2048'>4096</pages>
           <pages unit='KiB' size='1048576'>6144</pages>
           <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'/>
-            <cpu id='4' socket_id='0' die_id='2' core_id='0' siblings='4'/>
-            <cpu id='5' socket_id='0' die_id='2' core_id='1' siblings='5'/>
-            <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='1' core_id='0' siblings='8'/>
-            <cpu id='9' socket_id='1' die_id='1' core_id='1' siblings='9'/>
-            <cpu id='10' socket_id='1' die_id='2' core_id='0' siblings='10'/>
-            <cpu id='11' socket_id='1' die_id='2' core_id='1' siblings='11'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='1' cluster_id='0' core_id='0' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='1' cluster_id='0' core_id='1' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='2' cluster_id='0' core_id='0' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='2' cluster_id='0' core_id='1' siblings='5'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='1' cluster_id='0' core_id='0' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='1' cluster_id='0' core_id='1' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='2' cluster_id='0' core_id='0' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='2' cluster_id='0' core_id='1' siblings='11'/>
           </cpus>
         </cell>
       </cells>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml
index 4da09f889c..9ae155d571 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' 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='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_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' 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'/>
+            <cpu id='4' socket_id='1' die_id='0' cluster_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='1' die_id='0' cluster_id='0' core_id='5' siblings='5'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='6' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_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' 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'/>
+            <cpu id='8' socket_id='2' die_id='0' cluster_id='0' core_id='8' siblings='8'/>
+            <cpu id='9' socket_id='2' die_id='0' cluster_id='0' core_id='9' siblings='9'/>
+            <cpu id='10' socket_id='2' die_id='0' cluster_id='0' core_id='10' siblings='10'/>
+            <cpu id='11' socket_id='2' die_id='0' cluster_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' 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'/>
+            <cpu id='12' socket_id='3' die_id='0' cluster_id='0' core_id='12' siblings='12'/>
+            <cpu id='13' socket_id='3' die_id='0' cluster_id='0' core_id='13' siblings='13'/>
+            <cpu id='14' socket_id='3' die_id='0' cluster_id='0' core_id='14' siblings='14'/>
+            <cpu id='15' socket_id='3' die_id='0' cluster_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 28f00c0a90..05b33147b7 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' 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'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0,4'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1,5'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2,6'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3,7'/>
+            <cpu id='4' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0,4'/>
+            <cpu id='5' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1,5'/>
+            <cpu id='6' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2,6'/>
+            <cpu id='7' socket_id='0' die_id='0' cluster_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 ee26fe9464..167b217d8e 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' 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'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' cluster_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' cluster_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' 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'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' cluster_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' cluster_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' cluster_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' cluster_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 acdd97ec58..311bb58e6a 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' 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'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' cluster_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' cluster_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' 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'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' cluster_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' cluster_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' cluster_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' cluster_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 5f3678e072..8f64bcad63 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' 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'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' cluster_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' cluster_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' 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'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' cluster_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' cluster_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' cluster_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' cluster_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 6769bd0591..eb53eb2142 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' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_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 bc52480905..38ea0bdc27 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' die_id='0' core_id='0' siblings='0'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_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 c386edd4b0..ea9e2613d7 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' 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'/>
+            <cpu id='0' socket_id='0' die_id='0' cluster_id='0' core_id='0' siblings='0'/>
+            <cpu id='1' socket_id='0' die_id='0' cluster_id='0' core_id='1' siblings='1'/>
+            <cpu id='2' socket_id='0' die_id='0' cluster_id='0' core_id='2' siblings='2'/>
+            <cpu id='3' socket_id='0' die_id='0' cluster_id='0' core_id='3' siblings='3'/>
+            <cpu id='4' socket_id='0' die_id='0' cluster_id='0' core_id='4' siblings='4'/>
+            <cpu id='5' socket_id='0' die_id='0' cluster_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' 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'/>
+            <cpu id='6' socket_id='1' die_id='0' cluster_id='0' core_id='0' siblings='6'/>
+            <cpu id='7' socket_id='1' die_id='0' cluster_id='0' core_id='1' siblings='7'/>
+            <cpu id='8' socket_id='1' die_id='0' cluster_id='0' core_id='2' siblings='8'/>
+            <cpu id='9' socket_id='1' die_id='0' cluster_id='0' core_id='3' siblings='9'/>
+            <cpu id='10' socket_id='1' die_id='0' cluster_id='0' core_id='4' siblings='10'/>
+            <cpu id='11' socket_id='1' die_id='0' cluster_id='0' core_id='5' siblings='11'/>
           </cpus>
         </cell>
       </cells>
-- 
2.25.1

