Re: [PATCH] To support huge-sized page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/01/2011 01:09 AM, Cole Robinson wrote:
On 11/30/2011 04:34 AM, Li Zhang wrote:
On 11/30/2011 12:21 AM, Cole Robinson wrote:
On 11/29/2011 05:58 AM, y@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:
From: Li Zhang<zhlcindy@xxxxxxxxxxxxxxxxxx>

On some CPU architectures, huge-sized page are supported for
performance boost. However, virt-manager doesn't support the
feature of huge-sized page explicitly.

The patch is addressing the issue. Support of huge-sized page
will be implemented in the Guest object so that the virt-manager
can configure.

Signed-off-by: Li Zhang<zhlcindy@xxxxxxxxxxxxxxxxxx>
---
   virtinst/Guest.py |   16 +++++++++++++++-
   1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/virtinst/Guest.py b/virtinst/Guest.py
index 46ec340..a5d2e56 100644
--- a/virtinst/Guest.py
+++ b/virtinst/Guest.py
@@ -190,6 +190,7 @@ class Guest(XMLBuilderDomain.XMLBuilderDomain):
           self._uuid = None
           self._memory = None
           self._maxmemory = None
+        self._hugepage = None
           self._vcpus = 1
           self._maxvcpus = 1
           self._cpuset = None
@@ -343,6 +344,14 @@ class Guest(XMLBuilderDomain.XMLBuilderDomain):
                                 xpath="./memory",
                                 get_converter=lambda s, x: int(x) / 1024,
                                 set_converter=lambda s, x: int(x) * 1024)
+    def get_hugepage(self):
+        return self._hugepage
+    def set_hugepage(self, val):
+        if val is None:
+            return val
+        self._hugepage = bool(val)
+    hugepage = _xml_property(get_hugepage, set_hugepage,
+                             xpath="./memoryBacking/hugepages", is_bool=True)

       # UUID for the guest
       def get_uuid(self):
@@ -1044,9 +1053,14 @@ class Guest(XMLBuilderDomain.XMLBuilderDomain):
           xml = add(desc_xml)
           xml = add("<memory>%s</memory>" % (self.maxmemory * 1024))
           xml = add("<currentMemory>%s</currentMemory>" % (self.memory * 1024))
+
           #<blkiotune>
           #<memtune>
-        #<memoryBacking>
+        if self.hugepage is True:
+            xml = add("<memoryBacking>")
+            xml = add("<hugepages/>")
+            xml = add("</memoryBacking>")
+
           xml = add(self._get_vcpu_xml())
           #<cputune>
           xml = add(self.numatune.get_xml_config())

Please add some basic tests for this. set this value in
tests/xmlconfig.py:testManyDevices and tests/xmlparse.py:testAlterGuest
so we protect XML generation against basic regressions.

Thanks,
Cole


Hi Cole,

OK. How should I run these test cases by setting the value to
that files?

I tested this value with virt-manager --debug.
And from the log, I can see XML file is created correct.


See HACKING in virtinst.git. Basically python setup.py test and python
setup.py test_cli

- Cole


Got it. Thanks

Best Regards,
Li


[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux