[PATCH 0/3] Implement paeg-per-vq to virtio devices

Han Han posted 3 patches 2 weeks, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20210906140606.3846921-1-hhan@redhat.com
docs/formatdomain.rst                         |  9 +++++
docs/schemas/domaincommon.rng                 |  5 +++
src/conf/domain_conf.c                        | 16 ++++++++
src/conf/domain_conf.h                        |  1 +
src/conf/domain_validate.c                    |  7 ++++
src/qemu/qemu_capabilities.c                  |  6 +++
src/qemu/qemu_capabilities.h                  |  1 +
src/qemu/qemu_command.c                       |  4 ++
src/qemu/qemu_hotplug.c                       |  3 +-
src/qemu/qemu_validate.c                      |  8 ++++
.../caps_2.11.0.s390x.xml                     |  1 +
.../caps_2.11.0.x86_64.xml                    |  1 +
.../caps_2.12.0.aarch64.xml                   |  1 +
.../caps_2.12.0.ppc64.xml                     |  1 +
.../caps_2.12.0.s390x.xml                     |  1 +
.../caps_2.12.0.x86_64.xml                    |  1 +
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml |  1 +
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml |  1 +
.../caps_3.0.0.x86_64.xml                     |  1 +
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml |  1 +
.../caps_3.1.0.x86_64.xml                     |  1 +
.../caps_4.0.0.aarch64.xml                    |  1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml |  1 +
.../caps_4.0.0.riscv32.xml                    |  1 +
.../caps_4.0.0.riscv64.xml                    |  1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml |  1 +
.../caps_4.0.0.x86_64.xml                     |  1 +
.../caps_4.1.0.x86_64.xml                     |  1 +
.../caps_4.2.0.aarch64.xml                    |  1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml |  1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml |  1 +
.../caps_4.2.0.x86_64.xml                     |  1 +
.../caps_5.0.0.aarch64.xml                    |  1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml |  1 +
.../caps_5.0.0.riscv64.xml                    |  1 +
.../caps_5.0.0.x86_64.xml                     |  1 +
.../caps_5.1.0.x86_64.xml                     |  1 +
.../caps_5.2.0.aarch64.xml                    |  1 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml |  1 +
.../caps_5.2.0.riscv64.xml                    |  1 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml |  1 +
.../caps_5.2.0.x86_64.xml                     |  1 +
.../caps_6.0.0.aarch64.xml                    |  1 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml |  1 +
.../caps_6.0.0.x86_64.xml                     |  1 +
.../caps_6.1.0.x86_64.xml                     |  1 +
.../virtio-options-controller-page_per_vq.err |  1 +
...-controller-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
.../virtio-options-controller-page_per_vq.xml | 38 ++++++++++++++++++
.../virtio-options-disk-page_per_vq.err       |  1 +
...ptions-disk-page_per_vq.x86_64-latest.args | 39 +++++++++++++++++++
.../virtio-options-disk-page_per_vq.xml       | 34 ++++++++++++++++
.../virtio-options-fs-page_per_vq.err         |  1 +
...-options-fs-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
.../virtio-options-fs-page_per_vq.xml         | 34 ++++++++++++++++
.../virtio-options-input-page_per_vq.err      |  1 +
...tions-input-page_per_vq.x86_64-latest.args | 35 +++++++++++++++++
.../virtio-options-input-page_per_vq.xml      | 30 ++++++++++++++
.../virtio-options-memballoon-page_per_vq.err |  1 +
...-memballoon-page_per_vq.x86_64-latest.args | 33 ++++++++++++++++
.../virtio-options-memballoon-page_per_vq.xml | 23 +++++++++++
.../virtio-options-net-page_per_vq.err        |  1 +
...options-net-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
.../virtio-options-net-page_per_vq.xml        | 34 ++++++++++++++++
.../virtio-options-rng-page_per_vq.err        |  1 +
...options-rng-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
.../virtio-options-rng-page_per_vq.xml        | 32 +++++++++++++++
.../virtio-options-video-page_per_vq.err      |  1 +
...tions-video-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
.../virtio-options-video-page_per_vq.xml      | 36 +++++++++++++++++
.../virtio-options.x86_64-latest.args         | 26 ++++++-------
tests/qemuxml2argvdata/virtio-options.xml     | 26 ++++++-------
tests/qemuxml2argvtest.c                      | 22 +++++++++++
73 files changed, 704 insertions(+), 27 deletions(-)
create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.xml
create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq.err
create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq.xml

[PATCH 0/3] Implement paeg-per-vq to virtio devices

Posted by Han Han 2 weeks, 4 days ago
The the paeg-per-vq option controlles the VQ Notification Virtio Capability,
added since QEMU 2.8(commit d9997d89a4). It could bring some flexibility[1][2]
to vhost_vdpa.

Gavi, I am not very clear about how it can help with vhost_vdpa. So I
paste some description from the doc of your previous patch[3]. And feel
free to rely with your "Signed-off-by: " :)

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363

Reference:
[1]: https://doc.dpdk.org/guides/sample_app_ug/vdpa.html
[2]: https://lkml.org/lkml/2020/6/1/1688
[3]:
https://listman.redhat.com/archives/libvir-list/2021-May/msg00143.html

Han Han (3):
  qemu_capabilities: Add flag QEMU_CAPS_VIRTIO_PAGE_PER_VQ
  conf: Add page_per_vq for driver element
  qemu: Add support for virtio device option paeg-per-vq

 docs/formatdomain.rst                         |  9 +++++
 docs/schemas/domaincommon.rng                 |  5 +++
 src/conf/domain_conf.c                        | 16 ++++++++
 src/conf/domain_conf.h                        |  1 +
 src/conf/domain_validate.c                    |  7 ++++
 src/qemu/qemu_capabilities.c                  |  6 +++
 src/qemu/qemu_capabilities.h                  |  1 +
 src/qemu/qemu_command.c                       |  4 ++
 src/qemu/qemu_hotplug.c                       |  3 +-
 src/qemu/qemu_validate.c                      |  8 ++++
 .../caps_2.11.0.s390x.xml                     |  1 +
 .../caps_2.11.0.x86_64.xml                    |  1 +
 .../caps_2.12.0.aarch64.xml                   |  1 +
 .../caps_2.12.0.ppc64.xml                     |  1 +
 .../caps_2.12.0.s390x.xml                     |  1 +
 .../caps_2.12.0.x86_64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_3.0.0.ppc64.xml |  1 +
 .../qemucapabilitiesdata/caps_3.0.0.s390x.xml |  1 +
 .../caps_3.0.0.x86_64.xml                     |  1 +
 .../qemucapabilitiesdata/caps_3.1.0.ppc64.xml |  1 +
 .../caps_3.1.0.x86_64.xml                     |  1 +
 .../caps_4.0.0.aarch64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_4.0.0.ppc64.xml |  1 +
 .../caps_4.0.0.riscv32.xml                    |  1 +
 .../caps_4.0.0.riscv64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_4.0.0.s390x.xml |  1 +
 .../caps_4.0.0.x86_64.xml                     |  1 +
 .../caps_4.1.0.x86_64.xml                     |  1 +
 .../caps_4.2.0.aarch64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml |  1 +
 .../qemucapabilitiesdata/caps_4.2.0.s390x.xml |  1 +
 .../caps_4.2.0.x86_64.xml                     |  1 +
 .../caps_5.0.0.aarch64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml |  1 +
 .../caps_5.0.0.riscv64.xml                    |  1 +
 .../caps_5.0.0.x86_64.xml                     |  1 +
 .../caps_5.1.0.x86_64.xml                     |  1 +
 .../caps_5.2.0.aarch64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml |  1 +
 .../caps_5.2.0.riscv64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_5.2.0.s390x.xml |  1 +
 .../caps_5.2.0.x86_64.xml                     |  1 +
 .../caps_6.0.0.aarch64.xml                    |  1 +
 .../qemucapabilitiesdata/caps_6.0.0.s390x.xml |  1 +
 .../caps_6.0.0.x86_64.xml                     |  1 +
 .../caps_6.1.0.x86_64.xml                     |  1 +
 .../virtio-options-controller-page_per_vq.err |  1 +
 ...-controller-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
 .../virtio-options-controller-page_per_vq.xml | 38 ++++++++++++++++++
 .../virtio-options-disk-page_per_vq.err       |  1 +
 ...ptions-disk-page_per_vq.x86_64-latest.args | 39 +++++++++++++++++++
 .../virtio-options-disk-page_per_vq.xml       | 34 ++++++++++++++++
 .../virtio-options-fs-page_per_vq.err         |  1 +
 ...-options-fs-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
 .../virtio-options-fs-page_per_vq.xml         | 34 ++++++++++++++++
 .../virtio-options-input-page_per_vq.err      |  1 +
 ...tions-input-page_per_vq.x86_64-latest.args | 35 +++++++++++++++++
 .../virtio-options-input-page_per_vq.xml      | 30 ++++++++++++++
 .../virtio-options-memballoon-page_per_vq.err |  1 +
 ...-memballoon-page_per_vq.x86_64-latest.args | 33 ++++++++++++++++
 .../virtio-options-memballoon-page_per_vq.xml | 23 +++++++++++
 .../virtio-options-net-page_per_vq.err        |  1 +
 ...options-net-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
 .../virtio-options-net-page_per_vq.xml        | 34 ++++++++++++++++
 .../virtio-options-rng-page_per_vq.err        |  1 +
 ...options-rng-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
 .../virtio-options-rng-page_per_vq.xml        | 32 +++++++++++++++
 .../virtio-options-video-page_per_vq.err      |  1 +
 ...tions-video-page_per_vq.x86_64-latest.args | 37 ++++++++++++++++++
 .../virtio-options-video-page_per_vq.xml      | 36 +++++++++++++++++
 .../virtio-options.x86_64-latest.args         | 26 ++++++-------
 tests/qemuxml2argvdata/virtio-options.xml     | 26 ++++++-------
 tests/qemuxml2argvtest.c                      | 22 +++++++++++
 73 files changed, 704 insertions(+), 27 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-input-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-net-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-page_per_vq.xml
 create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq.err
 create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/virtio-options-video-page_per_vq.xml

-- 
2.31.1