[libvirt][PATCH v1 0/3] introduce 'restrictive' mode in numatune

Daniel Henrique Barboza danielhb413 at gmail.com
Thu Dec 17 16:18:49 UTC 2020



On 12/15/20 10:12 PM, Luyao Zhong wrote:
> Before this patch set, numatune only has three memory modes:
> static, interleave and prefered. These memory policies are
> ultimately set by mbind() system call.
> 
> Memory policy could be 'hard coded' into the kernel, but none of
> above policies fit our requirment under this case. mbind() support
> default memory policy, but it requires a NULL nodemask. So obviously
> setting allowed memory nodes is cgroups' mission under this case.
> So we introduce a new option for mode in numatune named 'restrictive'.
> 
> <numatune>
>     <memory mode="restrictive" nodeset="1-4,^3"/>
>     <memnode cellid="0" mode="restrictive" nodeset="1"/>
>     <memnode cellid="2" mode="restrictive" nodeset="2"/>
> </numatune>
> 
> The config above means we only use cgroups to restrict the allowed
> memory nodes and not setting any specific memory policies explicitly.
> 
> RFC discussion:
> https://www.redhat.com/archives/libvir-list/2020-November/msg01256.html
> 
> Regards,
> Luyao


Series LGTM


Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>

> 
> Luyao Zhong (3):
>    docs: add docs for 'restrictive' option for mode in numatune
>    schema: add 'restrictive' config option for mode in numatune
>    qemu: add parser and formatter for 'restrictive' mode in numatune
> 
>   docs/formatdomain.rst                         |  7 +++-
>   docs/schemas/domaincommon.rng                 |  2 +
>   include/libvirt/libvirt-domain.h              |  1 +
>   src/conf/numa_conf.c                          |  9 +++++
>   src/qemu/qemu_command.c                       |  6 ++-
>   src/qemu/qemu_process.c                       | 27 +++++++++++++
>   src/util/virnuma.c                            |  3 ++
>   .../numatune-memnode-invalid-mode.err         |  1 +
>   .../numatune-memnode-invalid-mode.xml         | 33 +++++++++++++++
>   ...emnode-restrictive-mode.x86_64-latest.args | 40 +++++++++++++++++++
>   .../numatune-memnode-restrictive-mode.xml     | 33 +++++++++++++++
>   tests/qemuxml2argvtest.c                      |  2 +
>   ...memnode-restrictive-mode.x86_64-latest.xml | 40 +++++++++++++++++++
>   tests/qemuxml2xmltest.c                       |  1 +
>   14 files changed, 202 insertions(+), 3 deletions(-)
>   create mode 100644 tests/qemuxml2argvdata/numatune-memnode-invalid-mode.err
>   create mode 100644 tests/qemuxml2argvdata/numatune-memnode-invalid-mode.xml
>   create mode 100644 tests/qemuxml2argvdata/numatune-memnode-restrictive-mode.x86_64-latest.args
>   create mode 100644 tests/qemuxml2argvdata/numatune-memnode-restrictive-mode.xml
>   create mode 100644 tests/qemuxml2xmloutdata/numatune-memnode-restrictive-mode.x86_64-latest.xml
> 




More information about the libvir-list mailing list