When running parallel netperf tests in phase1 and phase2 recipes it does not
make sense to run with improper qdisc like pfifo_fast. This patch sets
the qdisc to mq so that netperf results are appropriate.
Signed-off-by: Jan Tluka <jtluka(a)redhat.com>
---
recipes/regression_tests/phase1/3_vlans.py | 4 ++++
recipes/regression_tests/phase1/3_vlans_over_bond.py | 5 +++++
recipes/regression_tests/phase1/bonding_test.py | 15 +++++++++++++++
recipes/regression_tests/phase1/simple_netperf.py | 4 ++++
.../phase1/virtual_bridge_2_vlans_over_bond.py | 6 ++++++
.../phase1/virtual_bridge_vlan_in_guest.py | 4 ++++
.../phase1/virtual_bridge_vlan_in_host.py | 4 ++++
recipes/regression_tests/phase2/3_vlans_over_team.py | 5 +++++
recipes/regression_tests/phase2/team_test.py | 15 +++++++++++++++
.../virtual_ovs_bridge_2_vlans_over_active_backup_bond.py | 6 ++++++
.../phase2/virtual_ovs_bridge_vlan_in_guest.py | 4 ++++
.../phase2/virtual_ovs_bridge_vlan_in_host.py | 4 ++++
12 files changed, 76 insertions(+)
diff --git a/recipes/regression_tests/phase1/3_vlans.py
b/recipes/regression_tests/phase1/3_vlans.py
index e0e8da0..6e6611f 100644
--- a/recipes/regression_tests/phase1/3_vlans.py
+++ b/recipes/regression_tests/phase1/3_vlans.py
@@ -209,6 +209,10 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ m1.run("tc qdisc replace dev %s root mq" % m1_phy1.get_devname())
+ m2.run("tc qdisc replace dev %s root mq" % m2_phy1.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase1/3_vlans_over_bond.py
b/recipes/regression_tests/phase1/3_vlans_over_bond.py
index 79a125b..2e0685e 100644
--- a/recipes/regression_tests/phase1/3_vlans_over_bond.py
+++ b/recipes/regression_tests/phase1/3_vlans_over_bond.py
@@ -210,6 +210,11 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ m1.run("tc qdisc replace dev %s root mq" % m1_phy1.get_devname())
+ m1.run("tc qdisc replace dev %s root mq" % m1_phy2.get_devname())
+ m2.run("tc qdisc replace dev %s root mq" % m2_phy1.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase1/bonding_test.py
b/recipes/regression_tests/phase1/bonding_test.py
index b3a96c1..8b1dfc5 100644
--- a/recipes/regression_tests/phase1/bonding_test.py
+++ b/recipes/regression_tests/phase1/bonding_test.py
@@ -218,6 +218,21 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ m1.run("tc qdisc replace dev %s root mq" %
+ m1.get_interface("eth1").get_devname())
+ m1.run("tc qdisc replace dev %s root mq" %
+ m1.get_interface("eth2").get_devname())
+
+ if test_if2.get_type() == "bond":
+ m2.run("tc qdisc replace dev %s root mq" %
+ m2.get_interface("eth1").get_devname())
+ m2.run("tc qdisc replace dev %s root mq" %
+ m2.get_interface("eth2").get_devname())
+ else:
+ m2.run("tc qdisc replace dev %s root mq" %
+ test_if2.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase1/simple_netperf.py
b/recipes/regression_tests/phase1/simple_netperf.py
index 9e7963a..272b57d 100644
--- a/recipes/regression_tests/phase1/simple_netperf.py
+++ b/recipes/regression_tests/phase1/simple_netperf.py
@@ -189,6 +189,10 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel" : nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel" : nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ m1.run("tc qdisc replace dev %s root mq" % m1_testiface.get_devname())
+ m2.run("tc qdisc replace dev %s root mq" % m2_testiface.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
b/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
index 284ea0e..ae8baf9 100644
--- a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
+++ b/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
@@ -234,6 +234,12 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic1.get_devname())
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic2.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic1.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic2.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
index a637590..f769086 100644
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
+++ b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
@@ -215,6 +215,10 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
index 21411e8..9607132 100644
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
+++ b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
@@ -214,6 +214,10 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase2/3_vlans_over_team.py
b/recipes/regression_tests/phase2/3_vlans_over_team.py
index 3f41d95..4824db7 100644
--- a/recipes/regression_tests/phase2/3_vlans_over_team.py
+++ b/recipes/regression_tests/phase2/3_vlans_over_team.py
@@ -210,6 +210,11 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ m1.run("tc qdisc replace dev %s root mq" % m1_phy1.get_devname())
+ m1.run("tc qdisc replace dev %s root mq" % m1_phy2.get_devname())
+ m2.run("tc qdisc replace dev %s root mq" % m2_phy1.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase2/team_test.py
b/recipes/regression_tests/phase2/team_test.py
index 0fa8bc2..25a2823 100644
--- a/recipes/regression_tests/phase2/team_test.py
+++ b/recipes/regression_tests/phase2/team_test.py
@@ -217,6 +217,21 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ m1.run("tc qdisc replace dev %s root mq" %
+ m1.get_interface("eth1").get_devname())
+ m1.run("tc qdisc replace dev %s root mq" %
+ m1.get_interface("eth2").get_devname())
+
+ if test_if2.get_type() in [ "team", "bond" ]:
+ m2.run("tc qdisc replace dev %s root mq" %
+ m2.get_interface("eth1").get_devname())
+ m2.run("tc qdisc replace dev %s root mq" %
+ m2.get_interface("eth2").get_devname())
+ else:
+ m2.run("tc qdisc replace dev %s root mq" %
+ test_if2.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
b/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
index 288ef1e..ccabb5b 100644
---
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
+++
b/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
@@ -234,6 +234,12 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic1.get_devname())
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic2.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic1.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic2.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
index 63bea22..8274601 100644
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
+++ b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
@@ -213,6 +213,10 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_udp.update_options({"msg_size" : nperf_msg_size})
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
index f375997..f0fd8c1 100644
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
+++ b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
@@ -212,6 +212,10 @@ if nperf_mode == "multi":
netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
netperf_cli_sctp6.update_options({"num_parallel": nperf_num_parallel})
+ # we have to use multiqueue qdisc to get appropriate data
+ h1.run("tc qdisc replace dev %s root mq" % h1_nic.get_devname())
+ h2.run("tc qdisc replace dev %s root mq" % h2_nic.get_devname())
+
if nperf_msg_size is not None:
netperf_cli_tcp.update_options({"msg_size" : nperf_msg_size})
netperf_cli_tcp6.update_options({"msg_size" : nperf_msg_size})
--
2.7.4
Show replies by date