[dpdk-dev] app/testpmd: limit number of forwarding cores

Message ID 1467066919-135951-1-git-send-email-pablo.de.lara.guarch@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

De Lara Guarch, Pablo June 27, 2016, 10:35 p.m. UTC
  Number of forwarding cores must be equal or less than
number of forwarding streams, otherwise two cores
would try to use a same queue on a port, which is not allowed.

Fixes: f2bb7ae1d204 ("app/testpmd: handle all Rx queues in RSS setup")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-pmd/config.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Nélio Laranjeiro June 28, 2016, 8:41 a.m. UTC | #1
On Mon, Jun 27, 2016 at 11:35:19PM +0100, Pablo de Lara wrote:
> Number of forwarding cores must be equal or less than
> number of forwarding streams, otherwise two cores
> would try to use a same queue on a port, which is not allowed.
> 
> Fixes: f2bb7ae1d204 ("app/testpmd: handle all Rx queues in RSS setup")
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> ---
>  app/test-pmd/config.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index 9ccabf9..de60284 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1236,6 +1236,10 @@ rss_fwd_config_setup(void)
>  	cur_fwd_config.nb_fwd_streams =
>  		(streamid_t) (nb_q * cur_fwd_config.nb_fwd_ports);
>  
> +	if (cur_fwd_config.nb_fwd_streams < cur_fwd_config.nb_fwd_lcores)
> +		cur_fwd_config.nb_fwd_lcores =
> +			(lcoreid_t)cur_fwd_config.nb_fwd_streams;
> +
>  	/* reinitialize forwarding streams */
>  	init_fwd_streams();
>  
> -- 
> 2.5.5

Tested with:
 - coremask allowing to use 12 cores for 4 txqs and 4 rxqs.
 - coremask allowing to use 12 cores for 6 txqs and 6 rxqs.
 - coremask allowing to use 12 cores for 8 txqs and 8 rxqs.

It fixes the issue.

Tested-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
  
John McNamara June 28, 2016, 9:58 a.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Pablo de Lara
> Sent: Monday, June 27, 2016 11:35 PM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Subject: [dpdk-dev] [PATCH] app/testpmd: limit number of forwarding cores
> 
> Number of forwarding cores must be equal or less than number of forwarding
> streams, otherwise two cores would try to use a same queue on a port,
> which is not allowed.
> 
> Fixes: f2bb7ae1d204 ("app/testpmd: handle all Rx queues in RSS setup")
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

Acked-by: John McNamara <john.mcnamara@intel.com>
  
Thomas Monjalon June 30, 2016, 5:23 p.m. UTC | #3
2016-06-28 10:41, Nélio Laranjeiro:
> On Mon, Jun 27, 2016 at 11:35:19PM +0100, Pablo de Lara wrote:
> > Number of forwarding cores must be equal or less than
> > number of forwarding streams, otherwise two cores
> > would try to use a same queue on a port, which is not allowed.
> > 
> > Fixes: f2bb7ae1d204 ("app/testpmd: handle all Rx queues in RSS setup")
> > 
> > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> 
> Tested with:
>  - coremask allowing to use 12 cores for 4 txqs and 4 rxqs.
>  - coremask allowing to use 12 cores for 6 txqs and 6 rxqs.
>  - coremask allowing to use 12 cores for 8 txqs and 8 rxqs.
> 
> It fixes the issue.
> 
> Tested-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> 

Applied, thanks
  

Patch

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 9ccabf9..de60284 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1236,6 +1236,10 @@  rss_fwd_config_setup(void)
 	cur_fwd_config.nb_fwd_streams =
 		(streamid_t) (nb_q * cur_fwd_config.nb_fwd_ports);
 
+	if (cur_fwd_config.nb_fwd_streams < cur_fwd_config.nb_fwd_lcores)
+		cur_fwd_config.nb_fwd_lcores =
+			(lcoreid_t)cur_fwd_config.nb_fwd_streams;
+
 	/* reinitialize forwarding streams */
 	init_fwd_streams();