From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: [pve-devel] applied: [PATCH v2 qemu-server] cfg2cmd: netdev: fix value for tx_queue_size
Date: Thu, 27 Jul 2023 13:16:21 +0200 [thread overview]
Message-ID: <1690456552.1mxnt9hy4c.astroid@yuna.none> (raw)
In-Reply-To: <20230727091001.583784-1-f.ebner@proxmox.com>
so that you can already include the Breaks in your pve-qemu-kvm
series/update ;)
On July 27, 2023 11:10 am, Fiona Ebner wrote:
> Quoting from QEMU commit 4271f40383 ("virtio-net: correctly report
> maximum tx_queue_size value"):
>
>> Maximum value for tx_queue_size depends on the backend type.
>> 1024 for vDPA/vhost-user, 256 for all the others.
>
>> So the parameter is silently ignored and ethtool reports a different
>> value than the one provided by the user.
>
> Indeed, for a non-vDPA/vhost-user netdev, the guest will see TX: 256
> instead of the specified 1024 here. With the mentioned QEMU commit (in
> master and will be part of 8.1), using 1024 will be a hard error:
>
>> Invalid tx_queue_size (= 1024), must be a power of 2 between 256 and 256
>
> Since neither vhost-user, nor vhost-vdpa netdev types are exposed by
> Proxmox VE, just changing the limit to the correct 256 should be fine.
> No obvious issue during live-migration found.
>
> Fixes: 620d6b32 ("virtio-net: increase defaults rx|tx-queue-size to 1024")
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
>
> Changes in v2:
> * Rebase for newly added tests.
>
> PVE/QemuServer.pm | 2 +-
> test/cfg2cmd/efidisk-on-rbd.conf.cmd | 2 +-
> test/cfg2cmd/ide.conf.cmd | 2 +-
> test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd | 2 +-
> test/cfg2cmd/netdev-7.1.conf.cmd | 2 +-
> test/cfg2cmd/q35-ide.conf.cmd | 2 +-
> test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd | 2 +-
> test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd | 2 +-
> test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd | 2 +-
> test/cfg2cmd/q35-linux-hostpci.conf.cmd | 2 +-
> test/cfg2cmd/q35-simple.conf.cmd | 2 +-
> test/cfg2cmd/qemu-xhci-7.1.conf.cmd | 2 +-
> test/cfg2cmd/qemu-xhci-q35-7.1.conf.cmd | 2 +-
> test/cfg2cmd/seabios_serial.conf.cmd | 2 +-
> 14 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 1bebe443..484bc7f2 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -1774,7 +1774,7 @@ sub print_netdevice_full {
> }
>
> if (min_version($machine_version, 7, 1) && $net->{model} eq 'virtio'){
> - $tmpstr .= ",rx_queue_size=1024,tx_queue_size=1024";
> + $tmpstr .= ",rx_queue_size=1024,tx_queue_size=256";
> }
>
> $tmpstr .= ",bootindex=$net->{bootindex}" if $net->{bootindex} ;
> diff --git a/test/cfg2cmd/efidisk-on-rbd.conf.cmd b/test/cfg2cmd/efidisk-on-rbd.conf.cmd
> index 4d47586d..f02039a1 100644
> --- a/test/cfg2cmd/efidisk-on-rbd.conf.cmd
> +++ b/test/cfg2cmd/efidisk-on-rbd.conf.cmd
> @@ -28,5 +28,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=pc+pve0'
> diff --git a/test/cfg2cmd/ide.conf.cmd b/test/cfg2cmd/ide.conf.cmd
> index ebe9bf63..7fd4888c 100644
> --- a/test/cfg2cmd/ide.conf.cmd
> +++ b/test/cfg2cmd/ide.conf.cmd
> @@ -35,5 +35,5 @@
> -drive 'file=/var/lib/vz/images/100/vm-100-disk-2.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=io_uring,detect-zeroes=on' \
> -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=pc+pve0'
> diff --git a/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd b/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd
> index d7532bd3..2c6c9054 100644
> --- a/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd
> +++ b/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd
> @@ -22,5 +22,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=2' \
> - -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,vectors=6,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=1024,bootindex=300,host_mtu=900' \
> + -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,vectors=6,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,bootindex=300,host_mtu=900' \
> -machine 'type=pc+pve0'
> diff --git a/test/cfg2cmd/netdev-7.1.conf.cmd b/test/cfg2cmd/netdev-7.1.conf.cmd
> index 6f9c1776..6ffa9717 100644
> --- a/test/cfg2cmd/netdev-7.1.conf.cmd
> +++ b/test/cfg2cmd/netdev-7.1.conf.cmd
> @@ -22,5 +22,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300,host_mtu=900' \
> + -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300,host_mtu=900' \
> -machine 'type=pc+pve0'
> diff --git a/test/cfg2cmd/q35-ide.conf.cmd b/test/cfg2cmd/q35-ide.conf.cmd
> index f23d90f3..20ccc98b 100644
> --- a/test/cfg2cmd/q35-ide.conf.cmd
> +++ b/test/cfg2cmd/q35-ide.conf.cmd
> @@ -34,5 +34,5 @@
> -drive 'file=/var/lib/vz/images/100/vm-100-disk-2.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=io_uring,detect-zeroes=on' \
> -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=q35+pve0'
> diff --git a/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
> index 814a9021..bc48c5ae 100644
> --- a/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
> +++ b/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
> @@ -32,5 +32,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=q35+pve0'
> diff --git a/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd
> index 5b7b3e4b..0b1d85af 100644
> --- a/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd
> +++ b/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd
> @@ -32,5 +32,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=q35+pve0'
> diff --git a/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd
> index 6507703d..c7698d17 100644
> --- a/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd
> +++ b/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd
> @@ -31,5 +31,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=q35+pve0'
> diff --git a/test/cfg2cmd/q35-linux-hostpci.conf.cmd b/test/cfg2cmd/q35-linux-hostpci.conf.cmd
> index 0fedbd2c..5289ec69 100644
> --- a/test/cfg2cmd/q35-linux-hostpci.conf.cmd
> +++ b/test/cfg2cmd/q35-linux-hostpci.conf.cmd
> @@ -37,5 +37,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=q35+pve0'
> diff --git a/test/cfg2cmd/q35-simple.conf.cmd b/test/cfg2cmd/q35-simple.conf.cmd
> index ef939f28..98b22f46 100644
> --- a/test/cfg2cmd/q35-simple.conf.cmd
> +++ b/test/cfg2cmd/q35-simple.conf.cmd
> @@ -25,5 +25,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=q35+pve0'
> diff --git a/test/cfg2cmd/qemu-xhci-7.1.conf.cmd b/test/cfg2cmd/qemu-xhci-7.1.conf.cmd
> index df4c7030..2492e57e 100644
> --- a/test/cfg2cmd/qemu-xhci-7.1.conf.cmd
> +++ b/test/cfg2cmd/qemu-xhci-7.1.conf.cmd
> @@ -33,5 +33,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=A2:C0:43:77:08:A1,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=A2:C0:43:77:08:A1,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=pc+pve0'
> diff --git a/test/cfg2cmd/qemu-xhci-q35-7.1.conf.cmd b/test/cfg2cmd/qemu-xhci-q35-7.1.conf.cmd
> index 9b45ae9b..87d0f4b7 100644
> --- a/test/cfg2cmd/qemu-xhci-q35-7.1.conf.cmd
> +++ b/test/cfg2cmd/qemu-xhci-q35-7.1.conf.cmd
> @@ -25,5 +25,5 @@
> -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
> -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=A2:C0:43:77:08:A1,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=A2:C0:43:77:08:A1,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'type=pc-q35-7.1+pve0'
> diff --git a/test/cfg2cmd/seabios_serial.conf.cmd b/test/cfg2cmd/seabios_serial.conf.cmd
> index 0c3e3ed4..1c4e102c 100644
> --- a/test/cfg2cmd/seabios_serial.conf.cmd
> +++ b/test/cfg2cmd/seabios_serial.conf.cmd
> @@ -29,5 +29,5 @@
> -drive 'file=/var/lib/vz/images/8006/vm-8006-disk-0.qcow2,if=none,id=drive-scsi0,discard=on,format=qcow2,cache=none,aio=io_uring,detect-zeroes=unmap' \
> -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
> -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
> - -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=1024,bootindex=300' \
> + -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
> -machine 'smm=off,type=pc+pve0'
> --
> 2.39.2
>
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
>
prev parent reply other threads:[~2023-07-27 11:17 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-27 9:10 [pve-devel] " Fiona Ebner
2023-07-27 11:16 ` Fabian Grünbichler [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1690456552.1mxnt9hy4c.astroid@yuna.none \
--to=f.gruenbichler@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox