diff options
author | Hugues Fafard <fafardh@posteo.de> | 2021-08-03 19:54:51 +0200 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2021-10-04 15:08:38 -0400 |
commit | fbcb7539c38205fe1eaa62a2bfbe2ee3bb150183 (patch) | |
tree | d5151171b1536c3c7f8512da1a3d426fa700bdba /virtinst/domain | |
parent | 42bb522f0d262b63bcfa99011d35e580c78430fc (diff) | |
download | virt-manager-fbcb7539c38205fe1eaa62a2bfbe2ee3bb150183.tar.gz |
cli: --cpu: add support for NUMA caches
This includes support for the following options:
* numa.cell[0-9]*.cache[0-9]*.level
* numa.cell[0-9]*.cache[0-9]*.associativity
* numa.cell[0-9]*.cache[0-9]*.policy
* numa.cell[0-9]*.cache[0-9]*.size.value
* numa.cell[0-9]*.cache[0-9]*.size.unit
* numa.cell[0-9]*.cache[0-9]*.line.value
* numa.cell[0-9]*.cache[0-9]*.line.unit
Diffstat (limited to 'virtinst/domain')
-rw-r--r-- | virtinst/domain/cpu.py | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/virtinst/domain/cpu.py b/virtinst/domain/cpu.py index a6a3ab3e..08dfcaf9 100644 --- a/virtinst/domain/cpu.py +++ b/virtinst/domain/cpu.py @@ -10,9 +10,10 @@ from ..xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty from .. import xmlutil -class _CPUCellSibling(XMLBuilder): +class _NUMACellSibling(XMLBuilder): """ - Class for generating <distances> <sibling> nodes + Class for generating <cpu><numa><cell><distances> child nodes <sibling>, + describing the distances to other NUMA cells. """ XML_NAME = "sibling" _XML_PROP_ORDER = ["id", "value"] @@ -21,9 +22,30 @@ class _CPUCellSibling(XMLBuilder): value = XMLProperty("./@value", is_int=True) -class _CPUCell(XMLBuilder): +class _NUMACellCache(XMLBuilder): """ - Class for generating <cpu><numa> child <cell> XML + Class for generating <cpu><numa><cell> child nodes <cache>, describing + caches for NUMA cells. + """ + XML_NAME = "cache" + _XML_PROP_ORDER = ["level", "associativity", "policy", + "size_value", "size_unit", "line_value", "line_unit"] + + level = XMLProperty("./@level", is_int=True) + associativity = XMLProperty("./@associativity") + policy = XMLProperty("./@policy") + + size_value = XMLProperty("./size/@value", is_int=True) + size_unit = XMLProperty("./size/@unit") + + line_value = XMLProperty("./line/@value", is_int=True) + line_unit = XMLProperty("./line/@unit") + + +class _NUMACell(XMLBuilder): + """ + Class for generating <cpu><numa> child nodes <cell> XML, describing NUMA + cells. """ XML_NAME = "cell" _XML_PROP_ORDER = ["id", "cpus", "memory", "memAccess", "discard"] @@ -34,7 +56,8 @@ class _CPUCell(XMLBuilder): unit = XMLProperty("./@unit") memAccess = XMLProperty("./@memAccess") discard = XMLProperty("./@discard", is_yesno=True) - siblings = XMLChildProperty(_CPUCellSibling, relative_xpath="./distances") + siblings = XMLChildProperty(_NUMACellSibling, relative_xpath="./distances") + caches = XMLChildProperty(_NUMACellCache) class _CPUCache(XMLBuilder): @@ -204,7 +227,7 @@ class DomainCpu(XMLBuilder): feature.policy = policy features = XMLChildProperty(_CPUFeature) - cells = XMLChildProperty(_CPUCell, relative_xpath="./numa") + cells = XMLChildProperty(_NUMACell, relative_xpath="./numa") cache = XMLChildProperty(_CPUCache, is_single=True) def copy_host_cpu(self, guest): |