[PATCH v2 00/15] qemuBuildThreadContextProps: Prune .node-afinity wrt <emulatorpin/>

Michal Privoznik posted 15 patches 1 week, 1 day ago
Failed in applying to current master (apply log)
NEWS.rst                                      |   7 +
docs/formatdomain.rst                         |   4 +-
src/libvirt_private.syms                      |   2 +
src/qemu/qemu_command.c                       |  90 +++++++----
src/qemu/qemu_command.h                       |   8 +-
src/qemu/qemu_domain.c                        |  18 +++
src/qemu/qemu_domain.h                        |   5 +
src/qemu/qemu_driver.c                        |  11 +-
src/qemu/qemu_hotplug.c                       |   2 +-
src/qemu/qemu_process.c                       |   9 +-
src/util/virnuma.c                            | 148 ++++++++++++------
src/util/virnuma.h                            |   5 +-
tests/meson.build                             |   2 +-
...emory-hotplug-dimm-addr.x86_64-latest.args |   2 +-
.../memory-hotplug-dimm-addr.xml              |   2 +-
.../migrate-numa-unaligned.args               |   4 +-
.../migrate-numa-unaligned.xml                |   4 +-
.../numatune-memnode-restrictive-mode.xml     |   4 +-
...-unavailable-restrictive.x86_64-latest.err |   2 +-
...mnode-unavailable-strict.x86_64-latest.err |   2 +-
tests/qemuxml2argvdata/numatune-memnode.args  |   4 +-
.../numatune-memnode.x86_64-5.2.0.args        |   4 +-
.../numatune-memnode.x86_64-latest.args       |   4 +-
tests/qemuxml2argvdata/numatune-memnode.xml   |   4 +-
...umatune-static-nodeset-exceed-hostnode.err |   2 +-
tests/qemuxml2argvmock.c                      |  42 -----
tests/qemuxml2argvtest.c                      |   5 +-
...memory-hotplug-dimm-addr.x86_64-latest.xml |   2 +-
tests/qemuxml2xmloutdata/numatune-memnode.xml |   4 +-
.../linux-basic/system/cpu/cpu0/node0         |   1 +
.../linux-basic/system/cpu/cpu1/node0         |   1 +
.../linux-basic/system/cpu/cpu10/node2        |   1 +
.../linux-basic/system/cpu/cpu11/node2        |   1 +
.../linux-basic/system/cpu/cpu12/node3        |   1 +
.../linux-basic/system/cpu/cpu13/node3        |   1 +
.../linux-basic/system/cpu/cpu14/node3        |   1 +
.../linux-basic/system/cpu/cpu15/node3        |   1 +
.../linux-basic/system/cpu/cpu2/node0         |   1 +
.../linux-basic/system/cpu/cpu3/node0         |   1 +
.../linux-basic/system/cpu/cpu4/node1         |   1 +
.../linux-basic/system/cpu/cpu5/node1         |   1 +
.../linux-basic/system/cpu/cpu6/node1         |   1 +
.../linux-basic/system/cpu/cpu7/node1         |   1 +
.../linux-basic/system/cpu/cpu8/node2         |   1 +
.../linux-basic/system/cpu/cpu9/node2         |   1 +
.../linux-caches/system/cpu/cpu0/node0        |   1 +
.../linux-caches/system/cpu/cpu1/node0        |   1 +
.../linux-caches/system/cpu/cpu2/node0        |   1 +
.../linux-caches/system/cpu/cpu3/node0        |   1 +
.../linux-caches/system/cpu/cpu4/node0        |   1 +
.../linux-caches/system/cpu/cpu5/node0        |   1 +
.../linux-caches/system/cpu/cpu6/node0        |   1 +
.../linux-caches/system/cpu/cpu7/node0        |   1 +
.../system/cpu/cpu0/node0                     |   1 +
.../linux-resctrl/system/cpu/cpu0/node0       |   1 +
.../linux-resctrl/system/cpu/cpu1/node0       |   1 +
.../linux-resctrl/system/cpu/cpu10/node1      |   1 +
.../linux-resctrl/system/cpu/cpu11/node1      |   1 +
.../linux-resctrl/system/cpu/cpu2/node0       |   1 +
.../linux-resctrl/system/cpu/cpu3/node0       |   1 +
.../linux-resctrl/system/cpu/cpu4/node0       |   1 +
.../linux-resctrl/system/cpu/cpu5/node0       |   1 +
.../linux-resctrl/system/cpu/cpu6/node1       |   1 +
.../linux-resctrl/system/cpu/cpu7/node1       |   1 +
.../linux-resctrl/system/cpu/cpu8/node1       |   1 +
.../linux-resctrl/system/cpu/cpu9/node1       |   1 +
tests/virnumamock.c                           |  42 +++++
67 files changed, 317 insertions(+), 164 deletions(-)
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu0/node0
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu1/node0
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu10/node2
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu11/node2
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu12/node3
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu13/node3
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu14/node3
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu15/node3
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu2/node0
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu3/node0
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu4/node1
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu5/node1
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu6/node1
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu7/node1
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu8/node2
create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu9/node2
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu0/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu1/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu2/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu3/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu4/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu5/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu6/node0
create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu7/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl-skx-twocaches/system/cpu/cpu0/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu0/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu1/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu10/node1
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu11/node1
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu2/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu3/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu4/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu5/node0
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu6/node1
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu7/node1
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu8/node1
create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu9/node1
[PATCH v2 00/15] qemuBuildThreadContextProps: Prune .node-afinity wrt <emulatorpin/>
Posted by Michal Privoznik 1 week, 1 day ago
v2 of:

https://listman.redhat.com/archives/libvir-list/2023-March/238536.html

diff to v1:
- Swapped arguments in virNumaCPUSetToNodeset()
- Other small nits
- typos

Michal Prívozník (15):
  virnuma: Move virNumaNodesetToCPUset() our of WITH_NUMACTL
  virnuma: Introduce virNumaCPUSetToNodeset()
  virnumamock: Introduce virNumaGetNodeOfCPU() mock
  qemuxml2argvtest: Use virnuma mock
  qemuxml2argvdata: Adjust maximum NUMA node used
  qemuxml2argvdata: Extend vCPUs placement in
    memory-hotplug-dimm-addr.xml
  qemuxml2argvmock: Drop virNuma* mocks
  qemu: Move cpuset preference evaluation into a separate function
  qemu: Fix qemuDomainGetEmulatorPinInfo()
  qemuBuildMemoryBackendProps: Join two conditions
  qemu: Add @nodemaskRet argument to qemuBuildMemoryBackendProps()
  qemu: Add @nodemask argument to qemuBuildThreadContextProps()
  qemuBuildThreadContextProps: Prune .node-affinity wrt <emulatorpin/>
  docs: Document memory allocation and emulator pinning limitation
  NEWS: Document recent thread-context bug fix

 NEWS.rst                                      |   7 +
 docs/formatdomain.rst                         |   4 +-
 src/libvirt_private.syms                      |   2 +
 src/qemu/qemu_command.c                       |  90 +++++++----
 src/qemu/qemu_command.h                       |   8 +-
 src/qemu/qemu_domain.c                        |  18 +++
 src/qemu/qemu_domain.h                        |   5 +
 src/qemu/qemu_driver.c                        |  11 +-
 src/qemu/qemu_hotplug.c                       |   2 +-
 src/qemu/qemu_process.c                       |   9 +-
 src/util/virnuma.c                            | 148 ++++++++++++------
 src/util/virnuma.h                            |   5 +-
 tests/meson.build                             |   2 +-
 ...emory-hotplug-dimm-addr.x86_64-latest.args |   2 +-
 .../memory-hotplug-dimm-addr.xml              |   2 +-
 .../migrate-numa-unaligned.args               |   4 +-
 .../migrate-numa-unaligned.xml                |   4 +-
 .../numatune-memnode-restrictive-mode.xml     |   4 +-
 ...-unavailable-restrictive.x86_64-latest.err |   2 +-
 ...mnode-unavailable-strict.x86_64-latest.err |   2 +-
 tests/qemuxml2argvdata/numatune-memnode.args  |   4 +-
 .../numatune-memnode.x86_64-5.2.0.args        |   4 +-
 .../numatune-memnode.x86_64-latest.args       |   4 +-
 tests/qemuxml2argvdata/numatune-memnode.xml   |   4 +-
 ...umatune-static-nodeset-exceed-hostnode.err |   2 +-
 tests/qemuxml2argvmock.c                      |  42 -----
 tests/qemuxml2argvtest.c                      |   5 +-
 ...memory-hotplug-dimm-addr.x86_64-latest.xml |   2 +-
 tests/qemuxml2xmloutdata/numatune-memnode.xml |   4 +-
 .../linux-basic/system/cpu/cpu0/node0         |   1 +
 .../linux-basic/system/cpu/cpu1/node0         |   1 +
 .../linux-basic/system/cpu/cpu10/node2        |   1 +
 .../linux-basic/system/cpu/cpu11/node2        |   1 +
 .../linux-basic/system/cpu/cpu12/node3        |   1 +
 .../linux-basic/system/cpu/cpu13/node3        |   1 +
 .../linux-basic/system/cpu/cpu14/node3        |   1 +
 .../linux-basic/system/cpu/cpu15/node3        |   1 +
 .../linux-basic/system/cpu/cpu2/node0         |   1 +
 .../linux-basic/system/cpu/cpu3/node0         |   1 +
 .../linux-basic/system/cpu/cpu4/node1         |   1 +
 .../linux-basic/system/cpu/cpu5/node1         |   1 +
 .../linux-basic/system/cpu/cpu6/node1         |   1 +
 .../linux-basic/system/cpu/cpu7/node1         |   1 +
 .../linux-basic/system/cpu/cpu8/node2         |   1 +
 .../linux-basic/system/cpu/cpu9/node2         |   1 +
 .../linux-caches/system/cpu/cpu0/node0        |   1 +
 .../linux-caches/system/cpu/cpu1/node0        |   1 +
 .../linux-caches/system/cpu/cpu2/node0        |   1 +
 .../linux-caches/system/cpu/cpu3/node0        |   1 +
 .../linux-caches/system/cpu/cpu4/node0        |   1 +
 .../linux-caches/system/cpu/cpu5/node0        |   1 +
 .../linux-caches/system/cpu/cpu6/node0        |   1 +
 .../linux-caches/system/cpu/cpu7/node0        |   1 +
 .../system/cpu/cpu0/node0                     |   1 +
 .../linux-resctrl/system/cpu/cpu0/node0       |   1 +
 .../linux-resctrl/system/cpu/cpu1/node0       |   1 +
 .../linux-resctrl/system/cpu/cpu10/node1      |   1 +
 .../linux-resctrl/system/cpu/cpu11/node1      |   1 +
 .../linux-resctrl/system/cpu/cpu2/node0       |   1 +
 .../linux-resctrl/system/cpu/cpu3/node0       |   1 +
 .../linux-resctrl/system/cpu/cpu4/node0       |   1 +
 .../linux-resctrl/system/cpu/cpu5/node0       |   1 +
 .../linux-resctrl/system/cpu/cpu6/node1       |   1 +
 .../linux-resctrl/system/cpu/cpu7/node1       |   1 +
 .../linux-resctrl/system/cpu/cpu8/node1       |   1 +
 .../linux-resctrl/system/cpu/cpu9/node1       |   1 +
 tests/virnumamock.c                           |  42 +++++
 67 files changed, 317 insertions(+), 164 deletions(-)
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu0/node0
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu1/node0
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu10/node2
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu11/node2
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu12/node3
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu13/node3
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu14/node3
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu15/node3
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu2/node0
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu3/node0
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu4/node1
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu5/node1
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu6/node1
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu7/node1
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu8/node2
 create mode 120000 tests/vircaps2xmldata/linux-basic/system/cpu/cpu9/node2
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu0/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu1/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu2/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu3/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu4/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu5/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu6/node0
 create mode 120000 tests/vircaps2xmldata/linux-caches/system/cpu/cpu7/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl-skx-twocaches/system/cpu/cpu0/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu0/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu1/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu10/node1
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu11/node1
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu2/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu3/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu4/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu5/node0
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu6/node1
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu7/node1
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu8/node1
 create mode 120000 tests/vircaps2xmldata/linux-resctrl/system/cpu/cpu9/node1

-- 
2.39.2

Re: [PATCH v2 00/15] qemuBuildThreadContextProps: Prune .node-afinity wrt <emulatorpin/>
Posted by Ján Tomko 1 week ago
On a Tuesday in 2023, Michal Privoznik wrote:
>v2 of:
>
>https://listman.redhat.com/archives/libvir-list/2023-March/238536.html
>
>diff to v1:
>- Swapped arguments in virNumaCPUSetToNodeset()
>- Other small nits
>- typos
>
>Michal Prívozník (15):
>  virnuma: Move virNumaNodesetToCPUset() our of WITH_NUMACTL
>  virnuma: Introduce virNumaCPUSetToNodeset()
>  virnumamock: Introduce virNumaGetNodeOfCPU() mock
>  qemuxml2argvtest: Use virnuma mock
>  qemuxml2argvdata: Adjust maximum NUMA node used
>  qemuxml2argvdata: Extend vCPUs placement in
>    memory-hotplug-dimm-addr.xml
>  qemuxml2argvmock: Drop virNuma* mocks

>  qemu: Move cpuset preference evaluation into a separate function

Thank you for splitting this.

>  qemu: Fix qemuDomainGetEmulatorPinInfo()
>  qemuBuildMemoryBackendProps: Join two conditions
>  qemu: Add @nodemaskRet argument to qemuBuildMemoryBackendProps()
>  qemu: Add @nodemask argument to qemuBuildThreadContextProps()
>  qemuBuildThreadContextProps: Prune .node-affinity wrt <emulatorpin/>
>  docs: Document memory allocation and emulator pinning limitation
>  NEWS: Document recent thread-context bug fix
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
Re: [PATCH v2 00/15] qemuBuildThreadContextProps: Prune .node-afinity wrt <emulatorpin/>
Posted by Kristina Hanicova 1 week ago
On Tue, Mar 14, 2023 at 5:53 PM Michal Privoznik <mprivozn@redhat.com>
wrote:

> v2 of:
>
> https://listman.redhat.com/archives/libvir-list/2023-March/238536.html
>
> diff to v1:
> - Swapped arguments in virNumaCPUSetToNodeset()
> - Other small nits
> - typos
>
> Michal Prívozník (15):
>   virnuma: Move virNumaNodesetToCPUset() our of WITH_NUMACTL
>   virnuma: Introduce virNumaCPUSetToNodeset()
>   virnumamock: Introduce virNumaGetNodeOfCPU() mock
>   qemuxml2argvtest: Use virnuma mock
>   qemuxml2argvdata: Adjust maximum NUMA node used
>   qemuxml2argvdata: Extend vCPUs placement in
>     memory-hotplug-dimm-addr.xml
>   qemuxml2argvmock: Drop virNuma* mocks
>   qemu: Move cpuset preference evaluation into a separate function
>   qemu: Fix qemuDomainGetEmulatorPinInfo()
>   qemuBuildMemoryBackendProps: Join two conditions
>   qemu: Add @nodemaskRet argument to qemuBuildMemoryBackendProps()
>   qemu: Add @nodemask argument to qemuBuildThreadContextProps()
>   qemuBuildThreadContextProps: Prune .node-affinity wrt <emulatorpin/>
>   docs: Document memory allocation and emulator pinning limitation
>   NEWS: Document recent thread-context bug fix
>


Reviewed-by: Kristina Hanicova <khanicov@redhat.com>

Kristina
Re: [PATCH v2 00/15] qemuBuildThreadContextProps: Prune .node-afinity wrt <emulatorpin/>
Posted by Andrea Bolognani 1 week, 1 day ago
On Tue, Mar 14, 2023 at 05:52:14PM +0100, Michal Privoznik wrote:
> v2 of:
>
> https://listman.redhat.com/archives/libvir-list/2023-March/238536.html
>
> diff to v1:
> - Swapped arguments in virNumaCPUSetToNodeset()
> - Other small nits
> - typos
>
> Michal Prívozník (15):
>   virnuma: Move virNumaNodesetToCPUset() our of WITH_NUMACTL
>   virnuma: Introduce virNumaCPUSetToNodeset()
>   virnumamock: Introduce virNumaGetNodeOfCPU() mock
>   qemuxml2argvtest: Use virnuma mock
>   qemuxml2argvdata: Adjust maximum NUMA node used
>   qemuxml2argvdata: Extend vCPUs placement in
>     memory-hotplug-dimm-addr.xml
>   qemuxml2argvmock: Drop virNuma* mocks
>   qemu: Move cpuset preference evaluation into a separate function
>   qemu: Fix qemuDomainGetEmulatorPinInfo()
>   qemuBuildMemoryBackendProps: Join two conditions
>   qemu: Add @nodemaskRet argument to qemuBuildMemoryBackendProps()
>   qemu: Add @nodemask argument to qemuBuildThreadContextProps()
>   qemuBuildThreadContextProps: Prune .node-affinity wrt <emulatorpin/>
>   docs: Document memory allocation and emulator pinning limitation
>   NEWS: Document recent thread-context bug fix

Series

  Reviewed-by: Andrea Bolognani <abologna@redhat.com>

Maybe give Kristina a chance to take a look at the patches that don't
already have her R-b before pushing.

-- 
Andrea Bolognani / Red Hat / Virtualization