test/perf: Finally drop workaround for virtio_net TX stall
Now that we require 13c6be96618c ("net: stream: add unix socket") in qemu to run the tests, we can also assume that commit df8d07081718 ("virtio-net: fix bottom-half packet TX on asynchronous completion") is present, as it was merged before that one. This fixes the issue we attempted to work around in passt TCP and UDP performance tests: finally drop that stuff. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
667397db11
commit
6c1697764c
2 changed files with 0 additions and 30 deletions
|
@ -15,11 +15,6 @@ gtools /sbin/sysctl ip jq nproc seq sleep iperf3 tcp_rr tcp_crr # From neper
|
||||||
nstools /sbin/sysctl ip jq nproc seq sleep iperf3 tcp_rr tcp_crr
|
nstools /sbin/sysctl ip jq nproc seq sleep iperf3 tcp_rr tcp_crr
|
||||||
htools bc head sed seq
|
htools bc head sed seq
|
||||||
|
|
||||||
# In this setup, virtio_net TX queue sometimes hangs, still under investigation
|
|
||||||
def virtio_net_workaround
|
|
||||||
guest modprobe -r virtio_net; modprobe virtio_net napi_tx=1; ip link set dev eth0 up; dhclient -4; dhclient -6; sleep 3
|
|
||||||
endef
|
|
||||||
|
|
||||||
test passt: throughput and latency
|
test passt: throughput and latency
|
||||||
|
|
||||||
guest /sbin/sysctl -w net.core.rmem_max=536870912
|
guest /sbin/sysctl -w net.core.rmem_max=536870912
|
||||||
|
@ -58,19 +53,15 @@ tr TCP throughput over IPv6: guest to host
|
||||||
bw -
|
bw -
|
||||||
bw -
|
bw -
|
||||||
|
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1280
|
guest ip link set dev __IFNAME__ mtu 1280
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
||||||
bw __BW__ 1.2 1.5
|
bw __BW__ 1.2 1.5
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1500
|
guest ip link set dev __IFNAME__ mtu 1500
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
||||||
bw __BW__ 1.6 1.8
|
bw __BW__ 1.6 1.8
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 9000
|
guest ip link set dev __IFNAME__ mtu 9000
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M
|
||||||
bw __BW__ 4.0 5.0
|
bw __BW__ 4.0 5.0
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 65520
|
guest ip link set dev __IFNAME__ mtu 65520
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M
|
||||||
bw __BW__ 7.0 8.0
|
bw __BW__ 7.0 8.0
|
||||||
|
@ -97,27 +88,21 @@ lat __LAT__ 500 400
|
||||||
|
|
||||||
|
|
||||||
tr TCP throughput over IPv4: guest to host
|
tr TCP throughput over IPv4: guest to host
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 256
|
guest ip link set dev __IFNAME__ mtu 256
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M
|
||||||
bw __BW__ 0.2 0.3
|
bw __BW__ 0.2 0.3
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 576
|
guest ip link set dev __IFNAME__ mtu 576
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 1M
|
||||||
bw __BW__ 0.5 0.8
|
bw __BW__ 0.5 0.8
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1280
|
guest ip link set dev __IFNAME__ mtu 1280
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
||||||
bw __BW__ 1.2 1.5
|
bw __BW__ 1.2 1.5
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1500
|
guest ip link set dev __IFNAME__ mtu 1500
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 4M
|
||||||
bw __BW__ 1.6 1.8
|
bw __BW__ 1.6 1.8
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 9000
|
guest ip link set dev __IFNAME__ mtu 9000
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 8M
|
||||||
bw __BW__ 4.0 5.0
|
bw __BW__ 4.0 5.0
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 65520
|
guest ip link set dev __IFNAME__ mtu 65520
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -w 16M
|
||||||
bw __BW__ 7.0 8.0
|
bw __BW__ 7.0 8.0
|
||||||
|
|
|
@ -15,11 +15,6 @@ gtools /sbin/sysctl ip jq nproc sleep iperf3 udp_rr # From neper
|
||||||
nstools ip jq sleep iperf3 udp_rr
|
nstools ip jq sleep iperf3 udp_rr
|
||||||
htools bc head sed
|
htools bc head sed
|
||||||
|
|
||||||
# In this setup, virtio_net TX queue sometimes hangs, still under investigation
|
|
||||||
def virtio_net_workaround
|
|
||||||
guest modprobe -r virtio_net; modprobe virtio_net napi_tx=1; ip link set dev eth0 up; dhclient -4; dhclient -6; sleep 3
|
|
||||||
endef
|
|
||||||
|
|
||||||
test passt: throughput and latency
|
test passt: throughput and latency
|
||||||
|
|
||||||
guest /sbin/sysctl -w net.core.rmem_max=16777216
|
guest /sbin/sysctl -w net.core.rmem_max=16777216
|
||||||
|
@ -50,19 +45,15 @@ th MTU 256B 576B 1280B 1500B 9000B 65520B
|
||||||
tr UDP throughput over IPv6: guest to host
|
tr UDP throughput over IPv6: guest to host
|
||||||
bw -
|
bw -
|
||||||
bw -
|
bw -
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1280
|
guest ip link set dev __IFNAME__ mtu 1280
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
|
||||||
bw __BW__ 0.8 1.2
|
bw __BW__ 0.8 1.2
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1500
|
guest ip link set dev __IFNAME__ mtu 1500
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
|
||||||
bw __BW__ 1.0 1.5
|
bw __BW__ 1.0 1.5
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 9000
|
guest ip link set dev __IFNAME__ mtu 9000
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 5G
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 5G
|
||||||
bw __BW__ 4.0 5.0
|
bw __BW__ 4.0 5.0
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 65520
|
guest ip link set dev __IFNAME__ mtu 65520
|
||||||
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
|
iperf3 BW guest ns __GW6__%__IFNAME__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
|
||||||
bw __BW__ 4.0 5.0
|
bw __BW__ 4.0 5.0
|
||||||
|
@ -79,27 +70,21 @@ lat __LAT__ 200 150
|
||||||
|
|
||||||
|
|
||||||
tr UDP throughput over IPv4: guest to host
|
tr UDP throughput over IPv4: guest to host
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 256
|
guest ip link set dev __IFNAME__ mtu 256
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 500M
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 500M
|
||||||
bw __BW__ 0.0 0.0
|
bw __BW__ 0.0 0.0
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 576
|
guest ip link set dev __IFNAME__ mtu 576
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 1G
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 1G
|
||||||
bw __BW__ 0.4 0.6
|
bw __BW__ 0.4 0.6
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1280
|
guest ip link set dev __IFNAME__ mtu 1280
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 2G
|
||||||
bw __BW__ 0.8 1.2
|
bw __BW__ 0.8 1.2
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 1500
|
guest ip link set dev __IFNAME__ mtu 1500
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 3G
|
||||||
bw __BW__ 1.0 1.5
|
bw __BW__ 1.0 1.5
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 9000
|
guest ip link set dev __IFNAME__ mtu 9000
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 6G
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 6G
|
||||||
bw __BW__ 4.0 5.0
|
bw __BW__ 4.0 5.0
|
||||||
virtio_net_workaround
|
|
||||||
guest ip link set dev __IFNAME__ mtu 65520
|
guest ip link set dev __IFNAME__ mtu 65520
|
||||||
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
|
iperf3 BW guest ns __GW__ 100${i}2 __THREADS__ __TIME__ __OPTS__ -b 7G
|
||||||
bw __BW__ 4.0 5.0
|
bw __BW__ 4.0 5.0
|
||||||
|
|
Loading…
Reference in a new issue