From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 71E795917 for ; Tue, 28 Oct 2014 13:12:22 +0100 (CET) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Xj5lm-0003tJ-9O; Tue, 28 Oct 2014 08:21:08 -0400 Date: Tue, 28 Oct 2014 08:21:01 -0400 From: Neil Horman To: Cunming Liang Message-ID: <20141028122101.GB18365@hmsreliant.think-freely.org> References: <1408947174-11323-1-git-send-email-cunming.liang@intel.com> <1412944201-30703-1-git-send-email-cunming.liang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412944201-30703-1-git-send-email-cunming.liang@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2 0/4] app/test: unit test to measure cycles per packet X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Oct 2014 12:12:22 -0000 On Fri, Oct 10, 2014 at 08:29:57PM +0800, Cunming Liang wrote: > v2 update: > Rebase code to the latest master branch. > > -------------- > > Tested-by: Zhaochen Zhan > This patch has been verified on ixgbe and it is ready to be integrated to dpdk.org. > For e1000 and i40e, lacking loopback supporting, this patch can't support them for now. > > It provides unit test to measure cycles/packet in NIC loopback mode. > It simply gives the average cycles of IO used per packet without test equipment. > When doing the test, make sure the link is UP. > > There's two stream control mode support, one is continues, another is burst. > The former continues to forward the injected packets until reaching a certain amount of number. > The latter one stop when all the injected packets are received. > In burst stream, now measure two situations, with or without desc. cache conflict. > By default, it runs in continues stream mode to measure the whole rxtx. > > Usage Example: > 1. Run unit test app in interactive mode > app/test -c f -n 4 -- -i > 2. Set stream control mode, by default is continuous > set_rxtx_sc [continuous|poll_before_xmit|poll_after_xmit] > 3. If choose continuous stream, there are another two options can configure > 3.1 choose rx/tx pair, default is vector > set_rxtx_mode [vector|scalar|full|hybrid] > Note: To get acurate scalar fast, plz choose 'vector' or 'hybrid' without INC_VEC=y in config > 3.2 choose the area of masurement, default is rxtx > set_rxtx_anchor [rxtx|rxonly|txonly] > 4. Run and wait for the result > pmd_perf_autotest > > For who simply just want to see how much cycles cost per packet. > Compile DPDK, Run 'app/test', and type 'pmd_perf_autotest', that's it. > Nothing else needs to configure. > Using other options when you understand and what to measures more. > > *** BLURB HERE *** > > Cunming Liang (4): > app/test: unit test for rx and tx cycles/packet > app/test: measure standalone rx or tx cycles/packet > app/test: add unit test to measure RX burst cycles > app/test: allow to create packets in different sizes > > app/test/Makefile | 1 + > app/test/commands.c | 111 +++++ > app/test/packet_burst_generator.c | 26 +- > app/test/packet_burst_generator.h | 11 +- > app/test/test.h | 6 + > app/test/test_link_bonding.c | 39 +- > app/test/test_pmd_perf.c | 922 +++++++++++++++++++++++++++++++++++ > lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 + > 8 files changed, 1089 insertions(+), 33 deletions(-) > create mode 100644 app/test/test_pmd_perf.c > > -- > 1.7.4.1 > > Given that a subsequent patch was submitted to bring the debug and non-debug versions of rte_eth_rx_burst behavior in line Acked-by: Neil Horman