[dpdk-dev] [PATCH v7 0/7] app/test: unit test to measure cycles per packet

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Nov 13 00:50:39 CET 2014

2014-11-12 14:24, Cunming Liang:
> v7 update:
> # patch split and re-orginize
> 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. 



More information about the dev mailing list