test suite reviews and discussions
 help / color / mirror / Atom feed
From: hanyingya <yingyax.han@intel.com>
To: dts@dpdk.org
Cc: hanyingya <yingyax.han@intel.com>
Subject: [dts][PATCH V1]l3fwd: make RX and TX queue size configurable
Date: Fri, 11 Mar 2022 03:25:29 +0000	[thread overview]
Message-ID: <20220311032529.1384459-1-yingyax.han@intel.com> (raw)

make RX and TX queue sizes configurable from the command line.
please refer to dpdk commit 8efffaec56e30ed92c2c3f6.

Signed-off-by: hanyingya <yingyax.han@intel.com>
---
 conf/l3fwd.cfg                              |  5 +++-
 conf/l3fwd_em.cfg                           |  5 +++-
 conf/l3fwd_lpm_ipv4.cfg                     |  5 +++-
 conf/l3fwd_lpm_ipv4_rfc2544.cfg             |  5 +++-
 conf/l3fwd_lpm_ipv6.cfg                     |  5 +++-
 conf/vf_l3fwd_em_kernelpf.cfg               |  1 +
 conf/vf_l3fwd_kernelpf.cfg                  |  5 +++-
 conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg         |  1 +
 conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg |  1 +
 conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg         |  1 +
 tests/perf_test_base.py                     | 28 ++++++---------------
 11 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/conf/l3fwd.cfg b/conf/l3fwd.cfg
index 1e3e1ca8..5801acd3 100644
--- a/conf/l3fwd.cfg
+++ b/conf/l3fwd.cfg
@@ -12,6 +12,8 @@
 #       ......
 #   }
 #
+#  - rxtx_queue_size defines the l3fwd new parameters "--rx-queue-size" and "--tx-queue-size".
+#
 #  - test_duration is how many seconds each combination performance will
 #  be recorded, default is 60s
 #
@@ -56,6 +58,7 @@
 update_expected = True
 
 port_list=None
+rxtx_queue_size = None
 test_duration = 12
 accepted_tolerance = 1
 test_parameters = {
@@ -401,4 +404,4 @@ expected_rfc2544 = {
                 '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
                 '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
                 '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
-                '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},}
\ No newline at end of file
+                '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},}
diff --git a/conf/l3fwd_em.cfg b/conf/l3fwd_em.cfg
index 63923454..cfbf4e61 100644
--- a/conf/l3fwd_em.cfg
+++ b/conf/l3fwd_em.cfg
@@ -9,6 +9,8 @@
 #       ......
 #   }
 #
+#  - rxtx_queue_size defines the l3fwd new parameters "--rx-queue-size" and "--tx-queue-size".
+#
 #  - test_duration is how many seconds each combination performance will
 #  be recorded, default is 60s
 #
@@ -52,6 +54,7 @@
 [suite]
 update_expected = True
 
+rxtx_queue_size = None
 test_duration = 12
 accepted_tolerance = 1
 test_parameters = {
@@ -144,4 +147,4 @@ expected_throughput = {
                  '512': '0.00',
                  '1024': '0.00',
                  '1280': '0.00',
-                 '1518': '0.00', },},},}
\ No newline at end of file
+                 '1518': '0.00', },},},}
diff --git a/conf/l3fwd_lpm_ipv4.cfg b/conf/l3fwd_lpm_ipv4.cfg
index 5935c659..1ceb5157 100644
--- a/conf/l3fwd_lpm_ipv4.cfg
+++ b/conf/l3fwd_lpm_ipv4.cfg
@@ -9,6 +9,8 @@
 #       ......
 #   }
 #
+#  - rxtx_queue_size defines the l3fwd new parameters "--rx-queue-size" and "--tx-queue-size".
+#
 #  - test_duration is how many seconds each combination performance will
 #  be recorded, default is 60s
 #
@@ -52,6 +54,7 @@
 [suite]
 update_expected = True
 
+rxtx_queue_size = None
 test_duration = 60
 accepted_tolerance = 1
 test_parameters = {
@@ -102,4 +105,4 @@ expected_throughput = {
                  '512': '0.00',
                  '1024': '0.00',
                  '1280': '0.00',
-                 '1518': '0.00', },},}, }
\ No newline at end of file
+                 '1518': '0.00', },},}, }
diff --git a/conf/l3fwd_lpm_ipv4_rfc2544.cfg b/conf/l3fwd_lpm_ipv4_rfc2544.cfg
index 3518e94f..1d767716 100644
--- a/conf/l3fwd_lpm_ipv4_rfc2544.cfg
+++ b/conf/l3fwd_lpm_ipv4_rfc2544.cfg
@@ -9,6 +9,8 @@
 #       ......
 #   }
 #
+#  - rxtx_queue_size defines the l3fwd new parameters "--rx-queue-size" and "--tx-queue-size".
+#
 #  - test_duration is how many seconds each combination performance will
 #  be recorded, default is 60s
 #
@@ -52,6 +54,7 @@
 [suite]
 update_expected = True
 
+rxtx_queue_size = None
 test_duration = 60
 accepted_tolerance = 1
 test_parameters = {
@@ -102,4 +105,4 @@ expected_rfc2544 = {
                 '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
                 '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
                 '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
-                '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},}
\ No newline at end of file
+                '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},}
diff --git a/conf/l3fwd_lpm_ipv6.cfg b/conf/l3fwd_lpm_ipv6.cfg
index 04d1aaca..2bbd47fe 100644
--- a/conf/l3fwd_lpm_ipv6.cfg
+++ b/conf/l3fwd_lpm_ipv6.cfg
@@ -9,6 +9,8 @@
 #       ......
 #   }
 #
+#  - rxtx_queue_size defines the l3fwd new parameters "--rx-queue-size" and "--tx-queue-size".
+#
 #  - test_duration is how many seconds each combination performance will
 #  be recorded, default is 60s
 #
@@ -52,6 +54,7 @@
 [suite]
 update_expected = True
 
+rxtx_queue_size = None
 test_duration = 60
 accepted_tolerance = 1
 test_parameters = {
@@ -102,4 +105,4 @@ expected_throughput = {
                  '512': '0.00',
                  '1024': '0.00',
                  '1280': '0.00',
-                 '1518': '0.00', },},}, }
\ No newline at end of file
+                 '1518': '0.00', },},}, }
diff --git a/conf/vf_l3fwd_em_kernelpf.cfg b/conf/vf_l3fwd_em_kernelpf.cfg
index 4a6c0e9f..da9422b4 100644
--- a/conf/vf_l3fwd_em_kernelpf.cfg
+++ b/conf/vf_l3fwd_em_kernelpf.cfg
@@ -6,6 +6,7 @@
 [suite]
 test_duration = 60
 accepted_tolerance = '1%%'
+rxtx_queue_size = None
 
 test_parameters = {
     '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',],
diff --git a/conf/vf_l3fwd_kernelpf.cfg b/conf/vf_l3fwd_kernelpf.cfg
index 283ed8c9..c86e4709 100644
--- a/conf/vf_l3fwd_kernelpf.cfg
+++ b/conf/vf_l3fwd_kernelpf.cfg
@@ -9,6 +9,8 @@
 #       ......
 #   }
 #
+#  - rxtx_queue_size defines the l3fwd new parameters "--rx-queue-size" and "--tx-queue-size".
+#
 #  - test_duration is how many seconds each combination performance will
 #  be recorded, default is 60s
 #
@@ -52,6 +54,7 @@
 [suite]
 test_duration = 60
 accepted_tolerance = '1%%'
+rxtx_queue_size = None
 
 test_parameters = {
     '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',],
@@ -398,4 +401,4 @@ expected_rfc2544 = {
                 '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
                 '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
                 '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } },
-                '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},}
\ No newline at end of file
+                '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},}
diff --git a/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg b/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg
index fae8f10d..8390dd7a 100644
--- a/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg
+++ b/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg
@@ -6,6 +6,7 @@
 [suite]
 test_duration = 60
 accepted_tolerance = '1%%'
+rxtx_queue_size = None
 
 test_parameters = {
     '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',],
diff --git a/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg b/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg
index afd039ed..f39feb9e 100644
--- a/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg
+++ b/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg
@@ -6,6 +6,7 @@
 [suite]
 test_duration = 60
 accepted_tolerance = '1%%'
+rxtx_queue_size = None
 
 test_parameters = {
     '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',],
diff --git a/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg b/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg
index ac20f6fc..1039c86f 100644
--- a/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg
+++ b/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg
@@ -6,6 +6,7 @@
 [suite]
 test_duration = 60
 accepted_tolerance = '1%%'
+rxtx_queue_size = None
 
 test_parameters = {
     '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',],
diff --git a/tests/perf_test_base.py b/tests/perf_test_base.py
index c2d6041d..e6d68f45 100644
--- a/tests/perf_test_base.py
+++ b/tests/perf_test_base.py
@@ -146,6 +146,7 @@ class PerfTestBase(object):
         self.__bin_type = bin_type or BIN_TYPE.L3FWD
         self.__compile_rx_desc = None
         self.__compile_avx = None
+        self.__rxtx_queue_size = None
         self.__mode = mode or SUITE_TYPE.PF
         self.__suite = None
         self.__valports = valports
@@ -663,21 +664,9 @@ class PerfTestBase(object):
         self.dut.set_build_options(compile_flags)
         self.dut.build_install_dpdk(self.target)
 
-    def __preset_l3fwd_compilation(self):
-        # init l3fwd binary file
-        if self.nic not in ["columbiaville_100g", "columbiaville_25g", "columbiaville_25gx2"]:
-            self.logger.info(
-                "Configure RX/TX descriptor to 2048, re-build ./examples/l3fwd")
-            self.d_con((
-                "sed -i -e 's/"
-                "define RTE_TEST_RX_DESC_DEFAULT.*$/"
-                "define RTE_TEST_RX_DESC_DEFAULT 2048/' "
-                "./examples/l3fwd/l3fwd.h"))
-            self.d_con((
-                "sed -i -e 's/"
-                "define RTE_TEST_TX_DESC_DEFAULT.*$/"
-                "define RTE_TEST_TX_DESC_DEFAULT 2048/' "
-                "./examples/l3fwd/l3fwd.h"))
+    def __preset_compilation(self):
+        # Update compile config file and rebuild to get best perf on different nics
+        self.__preset_dpdk_compilation()
         if self.__mode is SUITE_TYPE.VF:
             # init testpmd
             if self.__pf_driver is not NIC_DRV.PCI_STUB:
@@ -685,12 +674,6 @@ class PerfTestBase(object):
         self.__l3fwd_em = self.__l3fwd_init(MATCH_MODE.EM)
         self.__l3fwd_lpm = self.__l3fwd_init(MATCH_MODE.LPM)
 
-    def __preset_compilation(self):
-        # Update compile config file and rebuild to get best perf on different nics
-        self.__preset_dpdk_compilation()
-        if self.__bin_type is BIN_TYPE.L3FWD:
-            self.__preset_l3fwd_compilation()
-
     def __init_host_testpmd(self):
         '''
         apply under vf testing scenario
@@ -847,6 +830,8 @@ class PerfTestBase(object):
             "niantic",
             "columbiaville_100g", "columbiaville_25g", "columbiaville_25gx2",
         ]
+        if self.__rxtx_queue_size:
+            command_line += " --rx-queue-size {rxtx} --tx-queue-size {rxtx}". format(rxtx= self.__rxtx_queue_size)
         if self.nic in suppored_nics or self.__mode is SUITE_TYPE.VF:
             command_line += " --parse-ptype"
         if frame_size > 1518:
@@ -1376,6 +1361,7 @@ class PerfTestBase(object):
         if self.__bin_type is BIN_TYPE.L3FWD:
             self.__bin_ps_wait_up = test_content.get('l3fwd_wait_up', 0)
             self.__bin_ps_restart = test_content.get('l3fwd_restart', True)
+            self.__rxtx_queue_size = test_content.get('rxtx_queue_size', None)
         else:
             self.__bin_ps_wait_up = test_content.get('bin_ps_wait_up', 0)
             self.__bin_ps_restart = test_content.get('bin_ps_restart', True)
-- 
2.25.1


             reply	other threads:[~2022-03-11  3:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-11  3:25 hanyingya [this message]
2022-03-15  3:06 ` Tu, Lijuan

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=20220311032529.1384459-1-yingyax.han@intel.com \
    --to=yingyax.han@intel.com \
    --cc=dts@dpdk.org \
    /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;
as well as URLs for NNTP newsgroup(s).