DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration
@ 2021-04-21 12:48 Conor Walsh
  2021-04-21 13:01 ` Ananyev, Konstantin
  2021-04-21 15:11 ` Medvedkin, Vladimir
  0 siblings, 2 replies; 4+ messages in thread
From: Conor Walsh @ 2021-04-21 12:48 UTC (permalink / raw)
  To: thomas, konstantin.ananyev, vladimir.medvedkin, kathleen.capella,
	honnappa.nagarahalli
  Cc: dev, Conor Walsh

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@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;
-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration
  2021-04-21 12:48 [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration Conor Walsh
@ 2021-04-21 13:01 ` Ananyev, Konstantin
  2021-04-21 15:11 ` Medvedkin, Vladimir
  1 sibling, 0 replies; 4+ messages in thread
From: Ananyev, Konstantin @ 2021-04-21 13:01 UTC (permalink / raw)
  To: Walsh, Conor, thomas, Ananyev, Konstantin, Medvedkin, Vladimir,
	kathleen.capella, honnappa.nagarahalli
  Cc: dev

> 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@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: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration
  2021-04-21 12:48 [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration Conor Walsh
  2021-04-21 13:01 ` Ananyev, Konstantin
@ 2021-04-21 15:11 ` Medvedkin, Vladimir
  2021-04-21 18:45   ` Thomas Monjalon
  1 sibling, 1 reply; 4+ messages in thread
From: Medvedkin, Vladimir @ 2021-04-21 15:11 UTC (permalink / raw)
  To: Conor Walsh, thomas, konstantin.ananyev, kathleen.capella,
	honnappa.nagarahalli
  Cc: dev



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@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@intel.com>

-- 
Regards,
Vladimir

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration
  2021-04-21 15:11 ` Medvedkin, Vladimir
@ 2021-04-21 18:45   ` Thomas Monjalon
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2021-04-21 18:45 UTC (permalink / raw)
  To: Conor Walsh
  Cc: konstantin.ananyev, kathleen.capella, honnappa.nagarahalli, dev,
	Medvedkin, Vladimir

> > 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@intel.com>
> 
> Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>

Applied, thanks




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-04-21 18:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-21 12:48 [dpdk-dev] [PATCH] examples/l3fwd: fib skip tx queue drain on first iteration Conor Walsh
2021-04-21 13:01 ` Ananyev, Konstantin
2021-04-21 15:11 ` Medvedkin, Vladimir
2021-04-21 18:45   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).