Re: [PATCH v2 1/4] conf: Introduce dynamicMemslots attribute for virtio-mem

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

 



On Wed, Jan 10, 2024 at 15:54:18 +0100, Michal Prívozník wrote:
> On 1/10/24 12:59, Peter Krempa wrote:
> > On Fri, Jan 05, 2024 at 13:33:32 +0100, Michal Privoznik wrote:
> >> Introduced in v8.2.0-rc0~74^2~2, QEMU now allows setting
> >> .dynamic-memslots attribute for virtio-mem-pci devices. When
> >> turned on, it allows memory exposed to guest to be split into
> >> multiple memslots and thus smaller memory footprint (see the
> >> original commit for detailed explanation).
> >>
> >> Therefore, introduce new <target/> attribute which will control
> >> that QEMU knob.
> >>
> >> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
> >> ---
> >>  docs/formatdomain.rst                          |  6 ++++++
> >>  src/conf/domain_conf.c                         | 18 +++++++++++++++++-
> >>  src/conf/domain_conf.h                         |  1 +
> >>  src/conf/schemas/domaincommon.rng              |  5 +++++
> >>  .../memory-hotplug-virtio-mem.xml              |  2 +-
> >>  5 files changed, 30 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
> >> index 96e03a3807..57974de9f4 100644
> >> --- a/docs/formatdomain.rst
> >> +++ b/docs/formatdomain.rst
> >> @@ -8395,6 +8395,12 @@ Example: usage of the memory devices
> >>     The ``node`` subelement configures the guest NUMA node to attach the memory
> >>     to. The element shall be used only if the guest has NUMA nodes configured.
> >>  
> >> +   For ``virtio-mem`` optional attribute ``dynamicMemslots`` can be specified
> >> +   (accepted values "yes"/"no") which allows hypervisor to spread memory into
> >> +   multiple memory slots (allocate them dynamically based on the amount of
> >> +   memory exposed to the guest), resulting in smaller memory footprint.
> >> +   :since:`Since 10.0.0 and QEMU 8.2.0`
> >> +
> > 
> > Except for the docs here, which are insufficient as outlined in the
> > other subthread, the code looks good, so for the code:
> 
> How about this:
> 
>    For ``virtio-mem`` optional attribute ``dynamicMemslots`` can be specified
>    (accepted values "yes"/"no") which allows hypervisor to spread memory into
>    multiple memory slots (allocate them dynamically based on the amount of
>    memory exposed to the guest), resulting in smaller memory footprint. But be
>    aware this may affect vhost-user devices. When enabled, older vhost-user

I'd add: 'vhost-user devices (such as virtiofsd)'.

Optionally you can add more, but virtiofsd is the one users can
configure without being aware of it.a


also perhaps 'vhost-user device implementations' for the next sentence.

>    devices may refuse to initialize resulting in failed domain startup or
>    device hotplug (set this to "no" then). On the other hand, modern vhost-user

IMO the stuff in the parentheses can be dropped.


>    devices, or when no vhost-user devices are present (nor they will be
>    hotplugged), this leads to smaller memory footprint (set this to "yes"

the memory footprint note is redundant from the first sentence.

How about:

When only modern vhost-user based devices will be used or when no
vhost-user devices are expected to be used it's beneficial to enable
this feature.

>    then). The current default is hypervisor dependant (for QEMU is "no"). If
>    the default changes and you are having difficulties with vhost-user devices,
>    try toggling this to "no". :since:`Since 10.1.0 and QEMU 8.2.0`
> 
> 
> > 
> > Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>
> > 
> 
> Thank you!
> 
> Michal
> 
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux