[prev in list] [next in list] [prev in thread] [next in thread] 

List:       libvir-list
Subject:    Re: [PATCH 0/3] VirtioNet RSS support
From:       Yan Vugenfirer <yan () daynix ! com>
Date:       2021-12-30 8:55:28
Message-ID: CALBs2cWGA2Df=xiaLvuUEtrY-fRhxsSV9cf20chZng_oFiUjMA () mail ! gmail ! com
[Download RAW message or body]

+1 for the series

On Thu, Dec 30, 2021 at 8:02 AM Andrew Melnychenko <andrew@daynix.com>
wrote:

> This series of patches add RSS property support for virtio-net-pci.
>
> Virtio RSS effectively works with TAP devices, it requires additional
> vectors for VirtioNet, queues for TAP device, and vCPU cores.
> Example of device configuration:
> ```
> <interface type="network">
>   <mac address="52:54:00:c4:90:25"/>
>   <source network="default"/>
>   <model type="virtio"/>
>   <driver name="qemu" queues="9" rss="on" rss_hash_report="off"/>
>   <address type="pci" domain="0x0000" bus="0x01" slot="0x00"
> function="0x0"/>
> </interface>
> ```
>
> Capability "rss" enables RSS, "rss_hash_report" - enables hashes in
> vheader.
> For now, "rss" property will trigger "in-qemu" RSS in most cases.
> Current Qemu(6.2) supports eBPF RSS that may require additional
> capabilities.
> In future, the helper will be provided. And this code is the base for
> VirtIO RSS.
>
> Changes since RFC:
>  * rebased and refactored
>  * added tests
>  * postponed the helper
>
> Andrew Melnychenko (3):
>   domain_conf: Added configs for RSS and Hash report.
>   qemu_capabilities: Added capabilites for qemu's "rss" and "hash".
>   test: Added caps, xml2argv and xml2xml tests.
>
>  docs/formatdomain.rst                         | 15 ++++++++
>  docs/schemas/domaincommon.rng                 | 10 ++++++
>  src/conf/domain_conf.c                        | 31 +++++++++++++++-
>  src/conf/domain_conf.h                        |  2 ++
>  src/qemu/qemu_capabilities.c                  |  2 ++
>  src/qemu/qemu_capabilities.h                  |  1 +
>  src/qemu/qemu_command.c                       |  2 ++
>  src/qemu/qemu_validate.c                      | 16 +++++++++
>  .../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 +
>  .../caps_6.2.0.aarch64.xml                    |  1 +
>  .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |  1 +
>  .../caps_6.2.0.x86_64.xml                     |  1 +
>  tests/qemuxml2argvdata/net-virtio-hash.args   | 35 +++++++++++++++++++
>  tests/qemuxml2argvdata/net-virtio-hash.xml    | 29 +++++++++++++++
>  tests/qemuxml2argvdata/net-virtio-rss.args    | 35 +++++++++++++++++++
>  tests/qemuxml2argvdata/net-virtio-rss.xml     | 29 +++++++++++++++
>  .../qemuxml2argvdata/net-virtio-rsshash.args  | 35 +++++++++++++++++++
>  tests/qemuxml2argvdata/net-virtio-rsshash.xml | 29 +++++++++++++++
>  .../virtio-options.x86_64-latest.args         |  2 +-
>  tests/qemuxml2argvdata/virtio-options.xml     |  2 +-
>  tests/qemuxml2argvtest.c                      |  7 ++++
>  30 files changed, 292 insertions(+), 3 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-hash.args
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-hash.xml
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.args
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.xml
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-rsshash.args
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-rsshash.xml
>
> --
> 2.34.1
>
>

[Attachment #3 (text/html)]

<div dir="ltr">+1 for the series<br></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">On Thu, Dec 30, 2021 at 8:02 AM Andrew Melnychenko &lt;<a \
href="mailto:andrew@daynix.com">andrew@daynix.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">This \
series of patches add RSS property support for virtio-net-pci.<br> <br>
Virtio RSS effectively works with TAP devices, it requires additional<br>
vectors for VirtioNet, queues for TAP device, and vCPU cores.<br>
Example of device configuration:<br>
```<br>
&lt;interface type=&quot;network&quot;&gt;<br>
   &lt;mac address=&quot;52:54:00:c4:90:25&quot;/&gt;<br>
   &lt;source network=&quot;default&quot;/&gt;<br>
   &lt;model type=&quot;virtio&quot;/&gt;<br>
   &lt;driver name=&quot;qemu&quot; queues=&quot;9&quot; rss=&quot;on&quot; \
rss_hash_report=&quot;off&quot;/&gt;<br>  &lt;address type=&quot;pci&quot; \
domain=&quot;0x0000&quot; bus=&quot;0x01&quot; slot=&quot;0x00&quot; \
function=&quot;0x0&quot;/&gt;<br> &lt;/interface&gt;<br>
```<br>
<br>
Capability &quot;rss&quot; enables RSS, &quot;rss_hash_report&quot; - enables hashes \
in vheader.<br> For now, &quot;rss&quot; property will trigger &quot;in-qemu&quot; \
RSS in most cases.<br> Current Qemu(6.2) supports eBPF RSS that may require \
additional capabilities.<br> In future, the helper will be provided. And this code is \
the base for VirtIO RSS.<br> <br>
Changes since RFC:<br>
  * rebased and refactored<br>
  * added tests<br>
  * postponed the helper<br>
<br>
Andrew Melnychenko (3):<br>
   domain_conf: Added configs for RSS and Hash report.<br>
   qemu_capabilities: Added capabilites for qemu&#39;s &quot;rss&quot; and \
&quot;hash&quot;.<br>  test: Added caps, xml2argv and xml2xml tests.<br>
<br>
  docs/formatdomain.rst                                      | 15 ++++++++<br>
  docs/schemas/domaincommon.rng                          | 10 ++++++<br>
  src/conf/domain_conf.c                                    | 31 +++++++++++++++-<br>
  src/conf/domain_conf.h                                    |   2 ++<br>
  src/qemu/qemu_capabilities.c                           |   2 ++<br>
  src/qemu/qemu_capabilities.h                           |   1 +<br>
  src/qemu/qemu_command.c                                   |   2 ++<br>
  src/qemu/qemu_validate.c                                 | 16 +++++++++<br>
  .../caps_5.1.0.x86_64.xml                                |   1 +<br>
  .../caps_5.2.0.aarch64.xml                              |   1 +<br>
  .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml |   1 +<br>
  .../caps_5.2.0.riscv64.xml                              |   1 +<br>
  .../qemucapabilitiesdata/caps_5.2.0.s390x.xml |   1 +<br>
  .../caps_5.2.0.x86_64.xml                                |   1 +<br>
  .../caps_6.0.0.aarch64.xml                              |   1 +<br>
  .../qemucapabilitiesdata/caps_6.0.0.s390x.xml |   1 +<br>
  .../caps_6.0.0.x86_64.xml                                |   1 +<br>
  .../caps_6.1.0.x86_64.xml                                |   1 +<br>
  .../caps_6.2.0.aarch64.xml                              |   1 +<br>
  .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |   1 +<br>
  .../caps_6.2.0.x86_64.xml                                |   1 +<br>
  tests/qemuxml2argvdata/net-virtio-hash.args     | 35 +++++++++++++++++++<br>
  tests/qemuxml2argvdata/net-virtio-hash.xml      | 29 +++++++++++++++<br>
  tests/qemuxml2argvdata/net-virtio-rss.args      | 35 +++++++++++++++++++<br>
  tests/qemuxml2argvdata/net-virtio-rss.xml        | 29 +++++++++++++++<br>
  .../qemuxml2argvdata/net-virtio-rsshash.args   | 35 +++++++++++++++++++<br>
  tests/qemuxml2argvdata/net-virtio-rsshash.xml | 29 +++++++++++++++<br>
  .../virtio-options.x86_64-latest.args              |   2 +-<br>
  tests/qemuxml2argvdata/virtio-options.xml        |   2 +-<br>
  tests/qemuxml2argvtest.c                                 |   7 ++++<br>
  30 files changed, 292 insertions(+), 3 deletions(-)<br>
  create mode 100644 tests/qemuxml2argvdata/net-virtio-hash.args<br>
  create mode 100644 tests/qemuxml2argvdata/net-virtio-hash.xml<br>
  create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.args<br>
  create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.xml<br>
  create mode 100644 tests/qemuxml2argvdata/net-virtio-rsshash.args<br>
  create mode 100644 tests/qemuxml2argvdata/net-virtio-rsshash.xml<br>
<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic