[dpdk-dev] app/testpmd: limit number of forwarding cores
Commit Message
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
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>
> -----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>
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
@@ -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();