[virt-tools-list] [PATCH] To support huge-sized page

Li Zhang zhlcindy at linux.vnet.ibm.com
Thu Dec 1 06:28:47 UTC 2011


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 at zhlbj-host.collab.prod.int.phx2.redhat.com wrote:
>>>> From: Li Zhang<zhlcindy at linux.vnet.ibm.com>
>>>>
>>>> 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 at linux.vnet.ibm.com>
>>>> ---
>>>>    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




More information about the virt-tools-list mailing list