On 04.02.25 10:57, Boris Fiuczynski wrote:
On 2/4/25 10:06, David Hildenbrand wrote:
> On 03.02.25 10:55, Michal Privoznik wrote:
>> v2 of:
>>
>>
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/
>> thread/KA2DGRIY7DAMNMYM4MBKLOJCB7YYEUKU/
>>
>
> I should probably play with this myself, but due to lack of a test
> system where I can mess with systemd:
>
> Assuming we're on a s390x host (using KVM) and we specify:
>
> + <memory model='virtio-mem'>
> + <target dynamicMemslots='yes'>
> + <size unit='KiB'>2097152</size>
> + <node>0</node>
> + <requested unit='KiB'>1048576</requested>
> + </target>
> + </memory>
>
> In particular, without
>
> + <block unit='KiB'>2048</block>
>
> What would be the default value on a s390x host?
>
> In QEMU, we'd be using the default of 1 MiB on a s390x host, which
> corresponds to the THP size. Note that on an x86_64 host, the default
> will be 2 MiB.
>
> Ideally, we'd also be using the default of 1 MiB on an s390x host.
>
> How is the default value determined here?
>
> Thanks!
>
Current libvirt implementation does not generate a default.
When not providing the element block an error occurs:
error: block size must be a power of two
When providing the element block the required minimum value is 1024KiB.
Right, the 1 MiB minimum value independent of the memory backed is
currently enforced by QEMU.
Interesting that no defaults are provided. I assume it might be an
interesting idea to query the default from QEMU, instead of
re-implementing that logic in libvirt.
--
Cheers,
David / dhildenb