test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH] l3fwd/testpmd performance: optimize command for testpmd and comment some cases no need to run.
@ 2016-04-20  2:16 Ding Heng
  2016-04-22  1:07 ` Liu, Yong
  0 siblings, 1 reply; 3+ messages in thread
From: Ding Heng @ 2016-04-20  2:16 UTC (permalink / raw)
  To: dts; +Cc: Ding Heng

l3fwd: comment 2 cases no need to run in nightly performance test. Fix issues
for run rfc2544 case with different nic. Add 72 byte for performance test.

testpmd: change report format for generate nightly performance test. Use core
mask instead of all cores for performance test.

framework/pmd_output: optimize command for performance, run testpmd in vector
mode instead of Xmit mode. Optimize core configuration for testpmd because run
testpmd with all cores will get a bad performance result.

Signed-off-by: Ding Heng <hengx.ding@intel.com>

diff --git a/framework/pmd_output.py b/framework/pmd_output.py
index df8db12..05e4e04 100644
--- a/framework/pmd_output.py
+++ b/framework/pmd_output.py
@@ -101,14 +101,18 @@ class PmdOutput():
 
     def start_testpmd(self, cores, param='', eal_param='', socket=0):
         # in dpdk2.0 need used --txqflags param to open hardware features
+        # use 0xf01 to enable vector mode and get better performance.
         if "--txqflags" not in param:
-            param += " --txqflags=0"
+            param += " --txqflags=0xf01"
 
         if type(cores) == list:
             core_list = cores
         elif cores == "Default":
             core_list = self.dut.get_core_list(self.default_cores)
         else:
+            # testpmd could not run with single core, at least 2 cores are needed.
+            if cores == "1S/1C/1T":
+                cores = "1S/2C/1T"
             core_list = self.dut.get_core_list(cores, socket=socket)
         self.coremask = dts.create_mask(core_list)
         command = "./%s/app/testpmd -c %s -n %d %s -- -i %s" \
diff --git a/tests/TestSuite_l3fwd.py b/tests/TestSuite_l3fwd.py
index 0376a76..816bd43 100644
--- a/tests/TestSuite_l3fwd.py
+++ b/tests/TestSuite_l3fwd.py
@@ -50,7 +50,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
     test_cases_2_ports = [(1,"1S/1C/1T","%s -c %s -n %d -- -P -p %s  --config '(P0,0,C{1.1.0}), (P1,0,C{1.1.0})'"),
                           #"1S/1C/2T": "%s -c %s -n %d -- -p %s  --config '(P0,0,C{1.1.0}), (P1,0,C{1.1.1})'",
                           (1,"1S/2C/1T","%s -c %s -n %d -- -P -p %s  --config '(P0,0,C{1.1.0}), (P1,0,C{1.2.0})'"),
-                          #"1S/4C/1T": "%s -c %s -n %d -- -p %s  --config '(P0,0,C{1.1.0}), (P1,0,C{1.2.0}),(P0,1,C{1.3.0}), (P1,1,C{1.4.0})'",
+                          (1,"1S/4C/1T", "%s -c %s -n %d -- -p %s  --config '(P0,0,C{1.1.0}), (P1,0,C{1.2.0}),(P0,1,C{1.3.0}), (P1,1,C{1.4.0})'"),
                           #"2S/2C/1T": "%s -c %s -n %d -- -p %s  --config '(P0,0,C{0.1.0}), (P1,0,C{0.2.0}),(P0,1,C{1.3.0}), (P1,1,C{1.4.0})'",
                           ]
 
@@ -94,7 +94,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
         "{IPv4(13,101,0,0), 24, P3}",
     ]
 
-    frame_sizes = [64, 128, 256, 512, 2048]  # 65, 128
+    frame_sizes = [64, 72, 128, 256, 512, 1024, 2048]  # 65, 128
     methods = ['lpm']#, 'exact']
 
     #
@@ -309,7 +309,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
         """
         pass
 
-    def test_perf_l3fwd_4ports(self):
+    def no_test_perf_l3fwd_4ports(self):
         """
         L3fwd main 4 ports.
         """
@@ -360,7 +360,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
 
         dts.results_table_print()
 
-    def test_perf_l3fwd_2ports(self):
+    def no_test_perf_l3fwd_2ports(self):
         """
         L3fwd main 2 ports.
         """
@@ -395,6 +395,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
             repl1 = "C{" + str(self.port_socket)
 
             coreMask = {}
+            cmdlist = []
             rtCmdLines = {}
             cmdlist = TestL3fwd.test_cases_2_ports
             for cmdline_pat in cmdlist:
@@ -469,14 +470,15 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
 
     def test_perf_rfc2544(self):
 
+        nic = self.get_nic_name(self.dut.ports_info[0]['type'])
         ports = self.dut.get_ports()
         ports_num = len(ports)
-        header_row = ["Frame", "mode", "S/C/T", "LR_tx_pkts(1min)", "LR_rx_pkts(1min)", "LR_loss_pkts(1min)", "% zero_loss_rate", "zero_loss_throughput(Mpps)"]
+        header_row = ["Frame_size(byte)", "mode", "S/C/T", "zero_loss_throughput(Mpps)", " % zero_loss_rate"]# "LR_tx_pkts(1min)", "LR_rx_pkts(1min)", "LR_loss_pkts(1min)", "% zero_loss_rate", "zero_loss_throughput(Mpps)"]
         self.l3fwd_test_results['header'] = header_row
         dts.results_table_add_header(header_row)
         self.l3fwd_test_results['data'] = []
 
-        for frame_size in [64, 128, 256, 512, 1024]:
+        for frame_size in TestL3fwd.frame_sizes:
 
             # Prepare traffic flow
             payload_size = frame_size -  \
@@ -501,10 +503,17 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
 
             coreMask = {}
             rtCmdLines = {}
+            cmdlist = []
             if ports_num == 4:
-                cmdlist = TestL3fwd.test_cases_4_ports
+                for i in TestL3fwd.test_cases_4_ports:
+                    cmdlist.append(i)
             else:
-                cmdlist = TestL3fwd.test_cases_2_ports
+                for i in TestL3fwd.test_cases_2_ports:
+                    cmdlist.append(i)
+                if 'eagle' in nic:
+                    del cmdlist[2]
+                else:
+                    del cmdlist[1]
             for cmdline_pat in cmdlist:
                 corelist = []
                 rtCmdLines[cmdline_pat[1]] = cmdline_pat[2]
@@ -561,14 +570,15 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
                         zero_loss_rate, tx_pkts, rx_pkts = self.tester.run_rfc2544(tgenInput, delay=60)
                         loss_pkts = tx_pkts - rx_pkts
                         self.dut.send_expect("^C", "#")
-                        linerate = self.wirespeed(self.nic, frame_size, 2)
+                        linerate = self.wirespeed(self.nic, frame_size, ports_num)
                         zero_loss_throughput = (linerate * zero_loss_rate) / 100
 
                         tx_pkts = human_read_number(tx_pkts)
                         rx_pkts = human_read_number(rx_pkts)
                         loss_pkts = human_read_number(loss_pkts)
 
-                        data_row = [frame_size, mode, cores, tx_pkts, rx_pkts, loss_pkts, zero_loss_rate, zero_loss_throughput]
+                        #data_row = [frame_size, mode, cores, tx_pkts, rx_pkts, loss_pkts, zero_loss_rate, zero_loss_throughput]
+                        data_row = [frame_size, mode, cores, zero_loss_throughput, zero_loss_rate]
                         dts.results_table_add_row(data_row)
                         self.l3fwd_test_results['data'].append(data_row)
                     else:
diff --git a/tests/TestSuite_pmd.py b/tests/TestSuite_pmd.py
index aeab99a..6938a7d 100644
--- a/tests/TestSuite_pmd.py
+++ b/tests/TestSuite_pmd.py
@@ -58,14 +58,15 @@ class TestPmd(TestCase,IxiaPacketGenerator):
         self.rxfreet_values = [0, 8, 16, 32, 64, 128]
 
         self.test_cycles = [{'cores': '1S/1C/1T', 'Mpps': {}, 'pct': {}},
-                            {'cores': '1S/2C/1T', 'Mpps': {}, 'pct': {}},
-                            {'cores': '1S/2C/2T', 'Mpps': {}, 'pct': {}},
-                            {'cores': '1S/4C/1T', 'Mpps': {}, 'pct': {}},
-                            {'cores': '1S/8C/1T', 'Mpps': {}, 'pct': {}}
+                            #{'cores': '1S/2C/1T', 'Mpps': {}, 'pct': {}},
+                            #{'cores': '1S/2C/2T', 'Mpps': {}, 'pct': {}},
+                            #{'cores': '1S/4C/1T', 'Mpps': {}, 'pct': {}},
+                            #{'cores': '1S/8C/1T', 'Mpps': {}, 'pct': {}}
                             ]
 
         self.table_header = ['Frame Size']
         for test_cycle in self.test_cycles:
+            self.table_header.append("app")
             self.table_header.append("%s Mpps" % test_cycle['cores'])
             self.table_header.append("% linerate")
 
@@ -126,7 +127,7 @@ class TestPmd(TestCase,IxiaPacketGenerator):
             core_mask = dts.create_mask(core_list)
             port_mask = dts.create_mask(self.dut.get_ports())
 
-            self.pmdout.start_testpmd("all", "--coremask=%s --rxq=%d --txq=%d --portmask=%s --rss-ip" % (core_mask, queues, queues, port_mask))
+            self.pmdout.start_testpmd(core_config, " --rxq=%d --txq=%d --portmask=%s --rss-ip --txrst=32 --txfreet=32 --txd=128" % (queues, queues, port_mask), socket=self.ports_socket)
 	    command_line = self.pmdout.get_pmd_cmd()
 
             info = "Executing PMD (mac fwd) using %s\n" % test_cycle['cores']
@@ -171,6 +172,7 @@ class TestPmd(TestCase,IxiaPacketGenerator):
             table_row = [frame_size]
 
             for test_cycle in self.test_cycles:
+                table_row.append("testpmd")
                 table_row.append(test_cycle['Mpps'][frame_size])
                 table_row.append(test_cycle['pct'][frame_size])
 
@@ -209,7 +211,8 @@ class TestPmd(TestCase,IxiaPacketGenerator):
             core_mask = dts.create_mask(core_list)
             port_mask = dts.create_mask([self.dut_ports[0], self.dut_ports[1]])
 
-            self.pmdout.start_testpmd("all", "--coremask=%s --rxq=%d --txq=%d --portmask=%s" % (core_mask, queues, queues, port_mask))
+            #self.pmdout.start_testpmd("all", "--coremask=%s --rxq=%d --txq=%d --portmask=%s" % (core_mask, queues, queues, port_mask))
+            self.pmdout.start_testpmd(core_config, " --rxq=%d --txq=%d --portmask=%s --rss-ip --txrst=32 --txfreet=32 --txd=128" % (queues, queues, port_mask), socket=self.ports_socket)
             command_line = self.pmdout.get_pmd_cmd()
 
             info = "Executing PMD using %s\n" % test_cycle['cores']
@@ -249,6 +252,7 @@ class TestPmd(TestCase,IxiaPacketGenerator):
         for frame_size in self.frame_sizes:
             table_row = [frame_size]
             for test_cycle in self.test_cycles:
+                table_row.append("testpmd")
                 table_row.append(test_cycle['Mpps'][frame_size])
                 table_row.append(test_cycle['pct'][frame_size])
 
-- 
1.9.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dts] [PATCH] l3fwd/testpmd performance: optimize command for testpmd and comment some cases no need to run.
  2016-04-20  2:16 [dts] [PATCH] l3fwd/testpmd performance: optimize command for testpmd and comment some cases no need to run Ding Heng
@ 2016-04-22  1:07 ` Liu, Yong
  2016-04-22  1:30   ` Xu, Qian Q
  0 siblings, 1 reply; 3+ messages in thread
From: Liu, Yong @ 2016-04-22  1:07 UTC (permalink / raw)
  To: Ding, HengX, dts; +Cc: Ding, HengX

Hi Heng, some comments below.

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Ding Heng
> Sent: Wednesday, April 20, 2016 10:17 AM
> To: dts@dpdk.org
> Cc: Ding, HengX
> Subject: [dts] [PATCH] l3fwd/testpmd performance: optimize command for
> testpmd and comment some cases no need to run.
> 
> l3fwd: comment 2 cases no need to run in nightly performance test. Fix
> issues
> for run rfc2544 case with different nic. Add 72 byte for performance test.
> 
> testpmd: change report format for generate nightly performance test. Use
> core
> mask instead of all cores for performance test.
> 
> framework/pmd_output: optimize command for performance, run testpmd in
> vector
> mode instead of Xmit mode. Optimize core configuration for testpmd because
> run
> testpmd with all cores will get a bad performance result.
> 
> Signed-off-by: Ding Heng <hengx.ding@intel.com>
> 
> diff --git a/framework/pmd_output.py b/framework/pmd_output.py
> index df8db12..05e4e04 100644
> --- a/framework/pmd_output.py
> +++ b/framework/pmd_output.py
> @@ -101,14 +101,18 @@ class PmdOutput():
> 
>      def start_testpmd(self, cores, param='', eal_param='', socket=0):
>          # in dpdk2.0 need used --txqflags param to open hardware features
> +        # use 0xf01 to enable vector mode and get better performance.
>          if "--txqflags" not in param:
> -            param += " --txqflags=0"

Please not changed this default value for other suites depend on this. You can appoint this value in performance suite.

> +            param += " --txqflags=0xf01"
> 
>          if type(cores) == list:
>              core_list = cores
>          elif cores == "Default":
>              core_list = self.dut.get_core_list(self.default_cores)
>          else:
> +            # testpmd could not run with single core, at least 2 cores
> are needed.
> +            if cores == "1S/1C/1T":
> +                cores = "1S/2C/1T"

That's strange logic,  please change input core setting as required. 

>              core_list = self.dut.get_core_list(cores, socket=socket)
>          self.coremask = dts.create_mask(core_list)
>          command = "./%s/app/testpmd -c %s -n %d %s -- -i %s" \
> diff --git a/tests/TestSuite_l3fwd.py b/tests/TestSuite_l3fwd.py
> index 0376a76..816bd43 100644
> --- a/tests/TestSuite_l3fwd.py
> +++ b/tests/TestSuite_l3fwd.py
> @@ -50,7 +50,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
>      test_cases_2_ports = [(1,"1S/1C/1T","%s -c %s -n %d -- -P -p %s  --
> config '(P0,0,C{1.1.0}), (P1,0,C{1.1.0})'"),
>                            #"1S/1C/2T": "%s -c %s -n %d -- -p %s  --config
> '(P0,0,C{1.1.0}), (P1,0,C{1.1.1})'",
>                            (1,"1S/2C/1T","%s -c %s -n %d -- -P -p %s  --
> config '(P0,0,C{1.1.0}), (P1,0,C{1.2.0})'"),
> -                          #"1S/4C/1T": "%s -c %s -n %d -- -p %s  --config
> '(P0,0,C{1.1.0}), (P1,0,C{1.2.0}),(P0,1,C{1.3.0}), (P1,1,C{1.4.0})'",
> +                          (1,"1S/4C/1T", "%s -c %s -n %d -- -p %s  --
> config '(P0,0,C{1.1.0}), (P1,0,C{1.2.0}),(P0,1,C{1.3.0}),
> (P1,1,C{1.4.0})'"),
>                            #"2S/2C/1T": "%s -c %s -n %d -- -p %s  --config
> '(P0,0,C{0.1.0}), (P1,0,C{0.2.0}),(P0,1,C{1.3.0}), (P1,1,C{1.4.0})'",
>                            ]
> 
> @@ -94,7 +94,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
>          "{IPv4(13,101,0,0), 24, P3}",
>      ]
> 
> -    frame_sizes = [64, 128, 256, 512, 2048]  # 65, 128
> +    frame_sizes = [64, 72, 128, 256, 512, 1024, 2048]  # 65, 128
>      methods = ['lpm']#, 'exact']
> 
>      #
> @@ -309,7 +309,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
>          """
>          pass
> 
> -    def test_perf_l3fwd_4ports(self):
> +    def no_test_perf_l3fwd_4ports(self):
>          """
>          L3fwd main 4 ports.
>          """
> @@ -360,7 +360,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
> 
>          dts.results_table_print()
> 
> -    def test_perf_l3fwd_2ports(self):
> +    def no_test_perf_l3fwd_2ports(self):
>          """
>          L3fwd main 2 ports.
>          """
> @@ -395,6 +395,7 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
>              repl1 = "C{" + str(self.port_socket)
> 
>              coreMask = {}
> +            cmdlist = []
>              rtCmdLines = {}
>              cmdlist = TestL3fwd.test_cases_2_ports
>              for cmdline_pat in cmdlist:
> @@ -469,14 +470,15 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
> 
>      def test_perf_rfc2544(self):
> 
> +        nic = self.get_nic_name(self.dut.ports_info[0]['type'])

Nic name can simply imported by "self.nic".

>          ports = self.dut.get_ports()
>          ports_num = len(ports)
> -        header_row = ["Frame", "mode", "S/C/T", "LR_tx_pkts(1min)",
> "LR_rx_pkts(1min)", "LR_loss_pkts(1min)", "% zero_loss_rate",
> "zero_loss_throughput(Mpps)"]
> +        header_row = ["Frame_size(byte)", "mode", "S/C/T",
> "zero_loss_throughput(Mpps)", " % zero_loss_rate"]# "LR_tx_pkts(1min)",
> "LR_rx_pkts(1min)", "LR_loss_pkts(1min)", "% zero_loss_rate",
> "zero_loss_throughput(Mpps)"]
>          self.l3fwd_test_results['header'] = header_row
>          dts.results_table_add_header(header_row)
>          self.l3fwd_test_results['data'] = []
> 
> -        for frame_size in [64, 128, 256, 512, 1024]:
> +        for frame_size in TestL3fwd.frame_sizes:
> 
>              # Prepare traffic flow
>              payload_size = frame_size -  \
> @@ -501,10 +503,17 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
> 
>              coreMask = {}
>              rtCmdLines = {}
> +            cmdlist = []
>              if ports_num == 4:
> -                cmdlist = TestL3fwd.test_cases_4_ports
> +                for i in TestL3fwd.test_cases_4_ports:
> +                    cmdlist.append(i)
>              else:
> -                cmdlist = TestL3fwd.test_cases_2_ports
> +                for i in TestL3fwd.test_cases_2_ports:
> +                    cmdlist.append(i)
> +                if 'eagle' in nic:
> +                    del cmdlist[2]
> +                else:
> +                    del cmdlist[1]
>              for cmdline_pat in cmdlist:
>                  corelist = []
>                  rtCmdLines[cmdline_pat[1]] = cmdline_pat[2]
> @@ -561,14 +570,15 @@ class TestL3fwd(TestCase,IxiaPacketGenerator):
>                          zero_loss_rate, tx_pkts, rx_pkts =
> self.tester.run_rfc2544(tgenInput, delay=60)
>                          loss_pkts = tx_pkts - rx_pkts
>                          self.dut.send_expect("^C", "#")
> -                        linerate = self.wirespeed(self.nic, frame_size, 2)
> +                        linerate = self.wirespeed(self.nic, frame_size,
> ports_num)
>                          zero_loss_throughput = (linerate * zero_loss_rate)
> / 100
> 
>                          tx_pkts = human_read_number(tx_pkts)
>                          rx_pkts = human_read_number(rx_pkts)
>                          loss_pkts = human_read_number(loss_pkts)
> 
> -                        data_row = [frame_size, mode, cores, tx_pkts,
> rx_pkts, loss_pkts, zero_loss_rate, zero_loss_throughput]
> +                        #data_row = [frame_size, mode, cores, tx_pkts,
> rx_pkts, loss_pkts, zero_loss_rate, zero_loss_throughput]
> +                        data_row = [frame_size, mode, cores,
> zero_loss_throughput, zero_loss_rate]
>                          dts.results_table_add_row(data_row)
>                          self.l3fwd_test_results['data'].append(data_row)
>                      else:
> diff --git a/tests/TestSuite_pmd.py b/tests/TestSuite_pmd.py
> index aeab99a..6938a7d 100644
> --- a/tests/TestSuite_pmd.py
> +++ b/tests/TestSuite_pmd.py
> @@ -58,14 +58,15 @@ class TestPmd(TestCase,IxiaPacketGenerator):
>          self.rxfreet_values = [0, 8, 16, 32, 64, 128]
> 
>          self.test_cycles = [{'cores': '1S/1C/1T', 'Mpps': {}, 'pct': {}},
> -                            {'cores': '1S/2C/1T', 'Mpps': {}, 'pct': {}},
> -                            {'cores': '1S/2C/2T', 'Mpps': {}, 'pct': {}},
> -                            {'cores': '1S/4C/1T', 'Mpps': {}, 'pct': {}},
> -                            {'cores': '1S/8C/1T', 'Mpps': {}, 'pct': {}}
> +                            #{'cores': '1S/2C/1T', 'Mpps': {}, 'pct': {}},
> +                            #{'cores': '1S/2C/2T', 'Mpps': {}, 'pct': {}},
> +                            #{'cores': '1S/4C/1T', 'Mpps': {}, 'pct': {}},
> +                            #{'cores': '1S/8C/1T', 'Mpps': {}, 'pct': {}}

Just removed those useless configurations.

>                              ]
> 
>          self.table_header = ['Frame Size']
>          for test_cycle in self.test_cycles:
> +            self.table_header.append("app")
>              self.table_header.append("%s Mpps" % test_cycle['cores'])
>              self.table_header.append("% linerate")
> 
> @@ -126,7 +127,7 @@ class TestPmd(TestCase,IxiaPacketGenerator):
>              core_mask = dts.create_mask(core_list)
>              port_mask = dts.create_mask(self.dut.get_ports())
> 
> -            self.pmdout.start_testpmd("all", "--coremask=%s --rxq=%d --
> txq=%d --portmask=%s --rss-ip" % (core_mask, queues, queues, port_mask))
> +            self.pmdout.start_testpmd(core_config, " --rxq=%d --txq=%d --
> portmask=%s --rss-ip --txrst=32 --txfreet=32 --txd=128" % (queues, queues,
> port_mask), socket=self.ports_socket)
>  	    command_line = self.pmdout.get_pmd_cmd()
> 
>              info = "Executing PMD (mac fwd) using %s\n" %
> test_cycle['cores']
> @@ -171,6 +172,7 @@ class TestPmd(TestCase,IxiaPacketGenerator):
>              table_row = [frame_size]
> 
>              for test_cycle in self.test_cycles:
> +                table_row.append("testpmd")
>                  table_row.append(test_cycle['Mpps'][frame_size])
>                  table_row.append(test_cycle['pct'][frame_size])
> 
> @@ -209,7 +211,8 @@ class TestPmd(TestCase,IxiaPacketGenerator):
>              core_mask = dts.create_mask(core_list)
>              port_mask = dts.create_mask([self.dut_ports[0],
> self.dut_ports[1]])
> 
> -            self.pmdout.start_testpmd("all", "--coremask=%s --rxq=%d --
> txq=%d --portmask=%s" % (core_mask, queues, queues, port_mask))
> +            #self.pmdout.start_testpmd("all", "--coremask=%s --rxq=%d --
> txq=%d --portmask=%s" % (core_mask, queues, queues, port_mask))
> +            self.pmdout.start_testpmd(core_config, " --rxq=%d --txq=%d --
> portmask=%s --rss-ip --txrst=32 --txfreet=32 --txd=128" % (queues, queues,
> port_mask), socket=self.ports_socket)
>              command_line = self.pmdout.get_pmd_cmd()
> 
>              info = "Executing PMD using %s\n" % test_cycle['cores']
> @@ -249,6 +252,7 @@ class TestPmd(TestCase,IxiaPacketGenerator):
>          for frame_size in self.frame_sizes:
>              table_row = [frame_size]
>              for test_cycle in self.test_cycles:
> +                table_row.append("testpmd")
>                  table_row.append(test_cycle['Mpps'][frame_size])
>                  table_row.append(test_cycle['pct'][frame_size])
> 
> --
> 1.9.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dts] [PATCH] l3fwd/testpmd performance: optimize command for testpmd and comment some cases no need to run.
  2016-04-22  1:07 ` Liu, Yong
@ 2016-04-22  1:30   ` Xu, Qian Q
  0 siblings, 0 replies; 3+ messages in thread
From: Xu, Qian Q @ 2016-04-22  1:30 UTC (permalink / raw)
  To: Liu, Yong, Ding, HengX, dts; +Cc: Ding, HengX

See below comments. 

Thanks
Qian

-----Original Message-----
From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Liu, Yong
Sent: Friday, April 22, 2016 9:07 AM
To: Ding, HengX; dts@dpdk.org
Cc: Ding, HengX
Subject: Re: [dts] [PATCH] l3fwd/testpmd performance: optimize command for testpmd and comment some cases no need to run.

Hi Heng, some comments below.

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Ding Heng
> Sent: Wednesday, April 20, 2016 10:17 AM
> To: dts@dpdk.org
> Cc: Ding, HengX
> Subject: [dts] [PATCH] l3fwd/testpmd performance: optimize command for 
> testpmd and comment some cases no need to run.
> 
> l3fwd: comment 2 cases no need to run in nightly performance test. Fix 
> issues for run rfc2544 case with different nic. Add 72 byte for 
> performance test.
> 
> testpmd: change report format for generate nightly performance test. 
> Use core mask instead of all cores for performance test.
> 
> framework/pmd_output: optimize command for performance, run testpmd in 
> vector mode instead of Xmit mode. Optimize core configuration for 
> testpmd because run testpmd with all cores will get a bad performance 
> result.
> 
> Signed-off-by: Ding Heng <hengx.ding@intel.com>
> 
> diff --git a/framework/pmd_output.py b/framework/pmd_output.py index 
> df8db12..05e4e04 100644
> --- a/framework/pmd_output.py
> +++ b/framework/pmd_output.py
> @@ -101,14 +101,18 @@ class PmdOutput():
> 
>      def start_testpmd(self, cores, param='', eal_param='', socket=0):
>          # in dpdk2.0 need used --txqflags param to open hardware 
> features
> +        # use 0xf01 to enable vector mode and get better performance.
>          if "--txqflags" not in param:
> -            param += " --txqflags=0"

Please not changed this default value for other suites depend on this. You can appoint this value in performance suite.

> +            param += " --txqflags=0xf01"
> 
>          if type(cores) == list:
>              core_list = cores
>          elif cores == "Default":
>              core_list = self.dut.get_core_list(self.default_cores)
>          else:
> +            # testpmd could not run with single core, at least 2 
> + cores
> are needed.
> +            if cores == "1S/1C/1T":
> +                cores = "1S/2C/1T"

That's strange logic,  please change input core setting as required. 
[Qian] Yes, I am also confused first to see it, I know the cores setting about 2C is testpmd used cores since testpmd will have a master core will is not used in packet fwd. So, you can name different, such as testpmd_cores and fwd_cores. 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-04-22  1:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-20  2:16 [dts] [PATCH] l3fwd/testpmd performance: optimize command for testpmd and comment some cases no need to run Ding Heng
2016-04-22  1:07 ` Liu, Yong
2016-04-22  1:30   ` Xu, Qian Q

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).