On 11.06.2015 10:48, Daniel P. Berrange wrote:
On Thu, Jun 11, 2015 at 10:27:05AM +0200, Michal Privoznik wrote:
> On 11.06.2015 10:13, Daniel P. Berrange wrote:
>> On Wed, Jun 10, 2015 at 09:20:40PM +0000, Vivi L wrote:
>>> Michal Privoznik <mprivozn <at> redhat.com> writes:
>>>
>>>>
>>>> On 10.06.2015 01:05, Vivi L wrote:
>>>>> Kashyap Chamarthy <kchamart <at> redhat.com> writes:
>>>>>
>>>>>
>>>>>> You might want re-test by explicitly setting the 'page'
element and
>>>>>> 'size' attribute? From my test, I had something like
this:
>>>>>>
>>>>>> $ virsh dumpxml f21-vm | grep hugepages -B3 -A2
>>>>>> <memory unit='KiB'>2000896</memory>
>>>>>> <currentMemory
unit='KiB'>2000000</currentMemory>
>>>>>> <memoryBacking>
>>>>>> <hugepages>
>>>>>> <page size='2048' unit='KiB'
nodeset='0'/>
>>>>>> </hugepages>
>>>>>> </memoryBacking>
>>>>>> <vcpu placement='static'>8</vcpu>
>>>>>>
>>>>>> I haven't tested this exhaustively, but some basic test notes
here:
>>>>>>
>>>>>>
https://kashyapc.fedorapeople.org/virt/test-hugepages-with-libvirt.txt
>>>>>
>>>>> Current QEMU does not support setting <page> element. Could it
be the
>>>>> cause of my aforementioned problem?
>>>>>
>>>>> unsupported configuration: huge pages per NUMA node are not supported
>>>>> with this QEMU
>>>>>
>>>>
>>>> So this is explanation why the memory for you guest is not backed by
>>>> hugepages.
>>>
>>> I thought setting hugepages per NUMA node is a nice-to-have feature.
>>> Is it required to enable the use of hugepages for the guest?
>>
>> No, it should not be mandatory. You should be able to use
>>
>> <memoryBacking>
>> <hugepages/>
>> </memoryBacking>
>>
>> With pretty much any KVM/QEMU version that exists. If that's
>> broken then its a libvit bug.
>
> Unless hugepages are requested for guest NUMA nodes. In that case
> memory-backend-file object is required. From my investigation, this
> seems to be the case.
memory-backend-file should only be required if trying to setup
different hugepage configs for each guest NUMA node, or if trying
to pin each guest NUMA node to a different host node. If they just
want hugepages across the whole VM and no pinning shouldn't the
traditional setup work
Vivi L, now you see why you should never ever drop the list from CC. He
has sent me an additional info with this snippet in the domain:
<numatune>
<memory mode='strict' nodeset='0-1'/>
</numatune>
Therefore the memory object is required. We can't guarantee the
placement without it.
Michal