[libvirt] 1GB huge pages and incompatible VM memory size

Michal Privoznik mprivozn at redhat.com
Thu Feb 23 15:50:35 UTC 2017


On 02/23/2017 03:26 PM, Matt Fleming wrote:
> On Tue, 21 Feb, at 11:23:52AM, Michal Privoznik wrote:
>>
>> Jim,
>>
>> what is the actual problem? I've tried to reproduce this by running vm
>> with 3.5G RAM backed by 1GB huge pages and the guest runs just fine. I
>> mean kvm guest. This is because at the cmd line level there is aligned
>> value:
>>
>> -m size=4194304k,slots=16,maxmem=8388608k
>>
>> This is result of qemuDomainAlignMemorySizes(). So perhaps there's a bug
>> somewhere in the function?
> 
> Quite possibly. Some memory values work fine and appear to be rounded
> to the next gigabyte boundary. One KiB values that fails for me is,
> 
>   <memory unit='KiB'>52428801</memory>
>   <currentMemory unit='KiB'>52428801</currentMemory>
> 
> Which results in qemu-kvm ... -m 51201

I currently don't have access to a host with 50+GB of RAM, so I start small:

  <memory unit='KiB'>3145739</memory>
  <currentMemory unit='KiB'>3145739</currentMemory>
  <memoryBacking>
    <hugepages>
      <page size='1048576' unit='KiB'/>
    </hugepages>
  </memoryBacking>


 -m 3073


And this works just fine. One thing that I've noticed is that we don't
take into account sizes of huge pages in qemuDomainAlignMemorySizes().
But then again - what is the scenario you're seeing? What's the error
message?

Michal




More information about the libvir-list mailing list