[dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Wed Apr 21 17:11:16 CEST 2021



On 21/04/2021 15:48, Conor Walsh wrote:
> The commit a8f8b672d575 ("examples/l3fwd: skip Tx queue drain on first
> iteration") implemented a change to the em and lpm lookup methods to
> prevent the TX queue drain running in the first iteration of their
> packet processing loops. This patch introduces this change into the
> fib lookup method, this was done to keep the fib code aligned with
> the em and lpm code.
> 
> Signed-off-by: Conor Walsh <conor.walsh at intel.com>
> ---
>   examples/l3fwd/l3fwd_fib.c | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c
> index c7d7689a94..1787229942 100644
> --- a/examples/l3fwd/l3fwd_fib.c
> +++ b/examples/l3fwd/l3fwd_fib.c
> @@ -179,8 +179,6 @@ fib_main_loop(__rte_unused void *dummy)
>   	const uint64_t drain_tsc = (rte_get_tsc_hz() + US_PER_S - 1) /
>   			US_PER_S * BURST_TX_DRAIN_US;
>   
> -	prev_tsc = 0;
> -
>   	lcore_id = rte_lcore_id();
>   	qconf = &lcore_conf[lcore_id];
>   
> @@ -200,9 +198,10 @@ fib_main_loop(__rte_unused void *dummy)
>   				lcore_id, portid, queueid);
>   	}
>   
> -	while (!force_quit) {
> +	cur_tsc = rte_rdtsc();
> +	prev_tsc = cur_tsc;
>   
> -		cur_tsc = rte_rdtsc();
> +	while (!force_quit) {
>   
>   		/* TX burst queue drain. */
>   		diff_tsc = cur_tsc - prev_tsc;
> @@ -233,6 +232,8 @@ fib_main_loop(__rte_unused void *dummy)
>   			/* Use fib to lookup port IDs and transmit them. */
>   			fib_send_packets(nb_rx, pkts_burst,	portid, qconf);
>   		}
> +
> +		cur_tsc = rte_rdtsc();
>   	}
>   
>   	return 0;
> 

Acked-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>

-- 
Regards,
Vladimir


More information about the dev mailing list