Add XML definitions for guest NUMA specifications.

From: Bharata B Rao <bhar...@linux.vnet.ibm.com>

NUMA topology for guest is specified as follows:

<cpu>
...
<numa>
<node cpus='0-3' mems='1024'>
<node cpus='4,5,6,7' mems='1024'>
<node cpus='8-10',11-12^12' mems='1024'>
</numa>

</cpu>

Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com>
---

 docs/schemas/domaincommon.rng |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)


diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 4972fac..99b70c3 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -2252,6 +2252,9 @@
             <zeroOrMore>
               <ref name="cpuFeature"/>
             </zeroOrMore>
+            <optional>
+              <ref name="cpuNuma"/>
+            </optional>
           </interleave>
         </group>
       </choice>
@@ -2312,6 +2315,25 @@
     </element>
   </define>
 
+  <define name="cpuNuma">
+    <element name="numa">
+      <oneOrMore>
+        <ref name="numaNode"/>
+      </oneOrMore>
+    </element>
+  </define>
+
+  <define name="numaNode">
+    <element name="node">
+      <attribute name="cpus">
+        <ref name="Nodecpus"/>
+      </attribute>
+      <attribute name="mems">
+        <ref name="Nodemems"/>
+      </attribute>
+    </element>
+  </define>
+
   <!--
       System information specification:
        Placeholder for system specific informations likes the ones
@@ -2665,4 +2687,14 @@
       <param name="pattern">[a-zA-Z0-9_\.:]+</param>
     </data>
   </define>
+  <define name="Nodecpus">
+    <data type="string">
+      <param 
name="pattern">([0-9]+(-[0-9]+)?|\^[0-9]+)(,([0-9]+(-[0-9]+)?|\^[0-9]+))*</param>
+    </data>
+  </define>
+  <define name="Nodemems">
+    <data type="unsignedInt">
+      <param name="pattern">[0-9]+</param>
+    </data>
+  </define>
 </grammar>

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to