[dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per packet
Liang, Cunming
cunming.liang at intel.com
Tue Nov 11 07:58:46 CET 2014
Hi Thomas,
Gentle remind, in case you've too much mails to process.
-Liang Cunming
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Liang, Cunming
> Sent: Wednesday, October 29, 2014 1:06 PM
> To: Thomas Monjalon
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 0/3] app/test: unit test to measure cycles per
> packet
>
> Hi Thomas,
>
> All the open issues from the former patches are closed.
> Could you please have a look and get it applied ?
>
> -Liang Cunming
>
> > -----Original Message-----
> > From: Liang, Cunming
> > Sent: Monday, October 27, 2014 9:20 AM
> > To: dev at dpdk.org
> > Cc: nhorman at tuxdriver.com; Ananyev, Konstantin; Richardson, Bruce; De Lara
> > Guarch, Pablo; Liang, Cunming
> > Subject: [PATCH v6 0/3] app/test: unit test to measure cycles per packet
> >
> > v6 update:
> > # leave FUNC_PTR_OR_*_RET unmodified
> >
> > v5 update:
> > # fix the confusing of retval in some API of rte_ethdev
> >
> > v4 ignore
> >
> > v3 update:
> > # Codes refine according to the feedback.
> > 1. add ether_format_addr to rte_ether.h
> > 2. fix typo in code comments.
> > 3. %lu to %PRIu64, fixing 32-bit targets compilation err
> > # merge 2 small incremental patches to the first one.
> > The whole unit test as a single patch in [PATCH v3 2/2]
> > # rebase code to the latest master
> >
> > v2 update:
> > Rebase code to the latest master branch.
> >
> > 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.
> >
> >
> > BTW, [1/3] is the same patch as below one.
> > http://dpdk.org/dev/patchwork/patch/817
> >
> > *** BLURB HERE ***
> >
> > Cunming Liang (3):
> > app/test: allow to create packets in different sizes
> > app/test: measure the cost of rx/tx routines by cycle number
> > ethdev: fix wrong error return refer to API definition
> >
> > 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_ether/rte_ethdev.c | 6 +-
> > lib/librte_ether/rte_ether.h | 25 +
> > lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 6 +
> > 10 files changed, 1117 insertions(+), 36 deletions(-)
> > create mode 100644 app/test/test_pmd_perf.c
> >
> > --
> > 1.7.4.1
More information about the dev
mailing list