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@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})
lnst-developers@lists.fedorahosted.org