[dpdk-dev] [PATCH] app/testpmd: add profiling for Rx/Tx burst routines

Bruce Richardson bruce.richardson at intel.com
Wed Jun 26 14:57:32 CEST 2019


On Wed, Jun 26, 2019 at 12:48:37PM +0000, Viacheslav Ovsiienko wrote:
> There is the testpmd configuration option called
> RTE_TEST_PMD_RECORD_CORE_CYCLES, if this one is turned on
> the testpmd application measures the CPU clocks spent
> within forwarding loop. This time is the sum of execution
> times of rte_eth_rx_burst(), rte_eth_tx_burst(), rte_delay_us(),
>  rte_pktmbuf_free() and so on, depending on fwd mode set.
> 
> While debugging and performance optimization of datapath
> burst routines tt would be useful to see the pure execution
> times of these ones. It is proposed to add separated profiling
> options:
> 
> CONFIG_RTE_TEST_PMD_RECORD_CORE_TX_CYCLES
>     enables gathering profiling data for transmit datapath,
>     ticks spent within rte_eth_tx_burst() routine
> 
> CONFIG_RTE_TEST_PMD_RECORD_CORE_RX_CYCLES
>     enables gathering profiling data for receive datapath,
>     ticks spent within rte_eth_rx_burst() routine
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>
> ---
>  RFC: http://patches.dpdk.org/patch/53704/
> ---

Out of interest, did you try making these runtime rather than build-time
options, and see if it makes any perf difference? Given the fact that we
would have just two predictable branches per burst of packets, I'd expect
the impact to me pretty minimal, if measurable at all.

/Bruce


More information about the dev mailing list