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

List:       lnst-developers
Subject:    [PATCH] recipes: change qdisc to mq when running multi netperf test
From:       Jan Tluka <jtluka () redhat ! com>
Date:       2016-11-09 18:27:33
Message-ID: 20161109182733.GA4565 () dhcp-2-157 ! brq ! redhat ! com
[Download RAW message or body]

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})
-- 
2.7.4
_______________________________________________
LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org
To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org


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

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