Re: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-10-12 Thread Michal Prívozník
On 10/9/21 11:47 AM, Han Han wrote:
> On Thu, Sep 9, 2021 at 7:43 PM Michal Prívozník  wrote:
> 
>> On 9/6/21 4:06 PM, Han Han wrote:
>>> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363
>>>
>>> Signed-off-by: Han Han 
>>> ---


> 
> BTW, is there any way to add Gavi(g...@nvidia.com) as co-writer when
> merging the patches? Because the most contents of docs/formatdomain.rst  in
> the patch 2/3 come from his patch
> https://listman.redhat.com/archives/libvir-list/2021-May/msg00143.html

You can keep his Signed-off-by line and add yours. But since you posted
v2 I can do that during review.

Michal



Re: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-10-09 Thread Han Han
On Thu, Sep 9, 2021 at 7:43 PM Michal Prívozník  wrote:

> On 9/6/21 4:06 PM, Han Han wrote:
> > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363
> >
> > Signed-off-by: Han Han 
> > ---
> >  src/qemu/qemu_command.c   |  4 ++
> >  src/qemu/qemu_hotplug.c   |  3 +-
> >  src/qemu/qemu_validate.c  |  8 
> >  .../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 +++
> >  30 files changed, 623 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
>
> Wow, that's a lot of test cases. Do we need all of them?
>
> >
> > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> > index b230314f7f..549f11dbe8 100644
> > --- a/src/qemu/qemu_command.c
> > +++ b/src/qemu/qemu_command.c
> > @@ -645,6 +645,10 @@ qemuBuildVirtioOptionsStr(virBuffer *buf,
> >  virBufferAsprintf(buf, ",packed=%s",
> >
> virTristateSwitchTypeToString(virtio->packed));
> >  }
> > +if (virtio->page_per_vq != VIR_TRISTATE_SWITCH_ABSENT) {
> > +

Re: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-10-09 Thread Han Han
On Wed, Oct 6, 2021 at 3:27 AM Jonathon Jongsma  wrote:

> On Fri, Sep 17, 2021 at 3:17 PM Jonathon Jongsma 
> wrote:
> >
> > On Thu, Sep 9, 2021 at 6:51 AM Michal Prívozník 
> wrote:
> > >
> > > On 9/6/21 4:06 PM, Han Han wrote:
> > > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363
> > > >
> > > > Signed-off-by: Han Han 
> > > > ---
> > > >  src/qemu/qemu_command.c   |  4 ++
> > > >  src/qemu/qemu_hotplug.c   |  3 +-
> > > >  src/qemu/qemu_validate.c  |  8 
> > > >  .../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 +++
> > > >  30 files changed, 623 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
> > >
> > > Wow, that's a lot of test cases. Do we need all of them?
> > >
> > > >
> > > > diff --git a/src/qemu/qemu_command.c 

Re: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-10-05 Thread Jonathon Jongsma
On Fri, Sep 17, 2021 at 3:17 PM Jonathon Jongsma  wrote:
>
> On Thu, Sep 9, 2021 at 6:51 AM Michal Prívozník  wrote:
> >
> > On 9/6/21 4:06 PM, Han Han wrote:
> > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363
> > >
> > > Signed-off-by: Han Han 
> > > ---
> > >  src/qemu/qemu_command.c   |  4 ++
> > >  src/qemu/qemu_hotplug.c   |  3 +-
> > >  src/qemu/qemu_validate.c  |  8 
> > >  .../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 +++
> > >  30 files changed, 623 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
> >
> > Wow, that's a lot of test cases. Do we need all of them?
> >
> > >
> > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> > > index b230314f7f..549f11dbe8 100644
> > > --- 

Re: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-09-17 Thread Jonathon Jongsma
On Thu, Sep 9, 2021 at 6:51 AM Michal Prívozník  wrote:
>
> On 9/6/21 4:06 PM, Han Han wrote:
> > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363
> >
> > Signed-off-by: Han Han 
> > ---
> >  src/qemu/qemu_command.c   |  4 ++
> >  src/qemu/qemu_hotplug.c   |  3 +-
> >  src/qemu/qemu_validate.c  |  8 
> >  .../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 +++
> >  30 files changed, 623 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
>
> Wow, that's a lot of test cases. Do we need all of them?
>
> >
> > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> > index b230314f7f..549f11dbe8 100644
> > --- a/src/qemu/qemu_command.c
> > +++ b/src/qemu/qemu_command.c
> > @@ -645,6 +645,10 @@ qemuBuildVirtioOptionsStr(virBuffer *buf,
> >  virBufferAsprintf(buf, ",packed=%s",
> >virTristateSwitchTypeToString(virtio->packed));
> >  }
> > +if 

Re: [PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-09-09 Thread Michal Prívozník
On 9/6/21 4:06 PM, Han Han wrote:
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363
> 
> Signed-off-by: Han Han 
> ---
>  src/qemu/qemu_command.c   |  4 ++
>  src/qemu/qemu_hotplug.c   |  3 +-
>  src/qemu/qemu_validate.c  |  8 
>  .../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 +++
>  30 files changed, 623 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

Wow, that's a lot of test cases. Do we need all of them?

> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index b230314f7f..549f11dbe8 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -645,6 +645,10 @@ qemuBuildVirtioOptionsStr(virBuffer *buf,
>  virBufferAsprintf(buf, ",packed=%s",
>virTristateSwitchTypeToString(virtio->packed));
>  }
> +if (virtio->page_per_vq != VIR_TRISTATE_SWITCH_ABSENT) {
> +virBufferAsprintf(buf, ",page-per-vq=%s",
> +  
> virTristateSwitchTypeToString(virtio->page_per_vq));
> +}
>  }
>  
>  static int
> diff --git 

[PATCH 3/3] qemu: Add support for virtio device option paeg-per-vq

2021-09-06 Thread Han Han
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1925363

Signed-off-by: Han Han 
---
 src/qemu/qemu_command.c   |  4 ++
 src/qemu/qemu_hotplug.c   |  3 +-
 src/qemu/qemu_validate.c  |  8 
 .../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 +++
 30 files changed, 623 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

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index b230314f7f..549f11dbe8 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -645,6 +645,10 @@ qemuBuildVirtioOptionsStr(virBuffer *buf,
 virBufferAsprintf(buf, ",packed=%s",
   virTristateSwitchTypeToString(virtio->packed));
 }
+if (virtio->page_per_vq != VIR_TRISTATE_SWITCH_ABSENT) {
+virBufferAsprintf(buf, ",page-per-vq=%s",
+  virTristateSwitchTypeToString(virtio->page_per_vq));
+}
 }
 
 static int
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 9c16ab4567..f2553a6831 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -3678,7 +3678,8 @@ qemuDomainChangeNet(virQEMUDriver *driver,
 (olddev->virtio && newdev->virtio &&
  (olddev->virtio->iommu !=