[v3,8/8] net/dpaa2: use cong group id for multiple tcs

Message ID 20200504124118.22877-9-hemant.agrawal@nxp.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series NXP DPAAx fixes and enhancements |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/travis-robot warning Travis build: failed
ci/Intel-compilation success Compilation OK

Commit Message

Hemant Agrawal May 4, 2020, 12:41 p.m. UTC
  From: Jun Yang <jun.yang@nxp.com>

Flow id may not work when used with multipel tcs.
The CGID will be provided in the INDEX field.

Signed-off-by: Jun Yang <jun.yang@nxp.com>
---
 drivers/net/dpaa2/dpaa2_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit May 6, 2020, 9:38 p.m. UTC | #1
On 5/4/2020 1:41 PM, Hemant Agrawal wrote:
> From: Jun Yang <jun.yang@nxp.com>
> 
> Flow id may not work when used with multipel tcs.
> The CGID will be provided in the INDEX field.

Hi Jun,

Can you please provide more information in commit log, why this change is done,
is it to fix something, if so what is broken with original code, why using "cong
group id" helps instead of using "flow_id" etc..

Thanks,
ferruh

> 
> Signed-off-by: Jun Yang <jun.yang@nxp.com>
> ---
>  drivers/net/dpaa2/dpaa2_ethdev.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
> index fd766a2184..1bab3b064c 100644
> --- a/drivers/net/dpaa2/dpaa2_ethdev.c
> +++ b/drivers/net/dpaa2/dpaa2_ethdev.c
> @@ -676,7 +676,7 @@ dpaa2_dev_rx_queue_setup(struct rte_eth_dev *dev,
>  						DPNI_CP_CONGESTION_GROUP,
>  						DPNI_QUEUE_RX,
>  						dpaa2_q->tc_index,
> -						flow_id, &taildrop);
> +						dpaa2_q->cgid, &taildrop);
>  		} else {
>  			/*enabling per rx queue congestion control */
>  			taildrop.threshold = CONG_THRESHOLD_RX_BYTES_Q;
> @@ -703,7 +703,7 @@ dpaa2_dev_rx_queue_setup(struct rte_eth_dev *dev,
>  			ret = dpni_set_taildrop(dpni, CMD_PRI_LOW, priv->token,
>  					DPNI_CP_CONGESTION_GROUP, DPNI_QUEUE_RX,
>  					dpaa2_q->tc_index,
> -					flow_id, &taildrop);
> +					dpaa2_q->cgid, &taildrop);
>  		} else {
>  			ret = dpni_set_taildrop(dpni, CMD_PRI_LOW, priv->token,
>  					DPNI_CP_QUEUE, DPNI_QUEUE_RX,
>
  
Hemant Agrawal May 7, 2020, 5:37 a.m. UTC | #2
Hi Ferruh,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit
> Sent: Thursday, May 7, 2020 3:09 AM
> To: Hemant Agrawal <hemant.agrawal@nxp.com>; dev@dpdk.org
> Cc: Jun Yang <jun.yang@nxp.com>
> Subject: Re: [dpdk-dev] [PATCH v3 8/8] net/dpaa2: use cong group id for
> multiple tcs
> 
> On 5/4/2020 1:41 PM, Hemant Agrawal wrote:
> > From: Jun Yang <jun.yang@nxp.com>
> >
> > Flow id may not work when used with multipel tcs.
> > The CGID will be provided in the INDEX field.
> 
> Hi Jun,
> 
> Can you please provide more information in commit log, why this change is
> done, is it to fix something, if so what is broken with original code, why using
> "cong group id" helps instead of using "flow_id" etc..
> 
[Hemant]  yes, this should be a bug fix with proper explanation.  I will get the v2 for it.

> Thanks,
> ferruh
> 
> >
> > Signed-off-by: Jun Yang <jun.yang@nxp.com>
> > ---
> >  drivers/net/dpaa2/dpaa2_ethdev.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c
> > b/drivers/net/dpaa2/dpaa2_ethdev.c
> > index fd766a2184..1bab3b064c 100644
> > --- a/drivers/net/dpaa2/dpaa2_ethdev.c
> > +++ b/drivers/net/dpaa2/dpaa2_ethdev.c
> > @@ -676,7 +676,7 @@ dpaa2_dev_rx_queue_setup(struct rte_eth_dev
> *dev,
> >
> 	DPNI_CP_CONGESTION_GROUP,
> >  						DPNI_QUEUE_RX,
> >  						dpaa2_q->tc_index,
> > -						flow_id, &taildrop);
> > +						dpaa2_q->cgid, &taildrop);
> >  		} else {
> >  			/*enabling per rx queue congestion control */
> >  			taildrop.threshold = CONG_THRESHOLD_RX_BYTES_Q;
> @@ -703,7 +703,7
> > @@ dpaa2_dev_rx_queue_setup(struct rte_eth_dev *dev,
> >  			ret = dpni_set_taildrop(dpni, CMD_PRI_LOW, priv-
> >token,
> >  					DPNI_CP_CONGESTION_GROUP,
> DPNI_QUEUE_RX,
> >  					dpaa2_q->tc_index,
> > -					flow_id, &taildrop);
> > +					dpaa2_q->cgid, &taildrop);
> >  		} else {
> >  			ret = dpni_set_taildrop(dpni, CMD_PRI_LOW, priv-
> >token,
> >  					DPNI_CP_QUEUE, DPNI_QUEUE_RX,
> >
  

Patch

diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index fd766a2184..1bab3b064c 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -676,7 +676,7 @@  dpaa2_dev_rx_queue_setup(struct rte_eth_dev *dev,
 						DPNI_CP_CONGESTION_GROUP,
 						DPNI_QUEUE_RX,
 						dpaa2_q->tc_index,
-						flow_id, &taildrop);
+						dpaa2_q->cgid, &taildrop);
 		} else {
 			/*enabling per rx queue congestion control */
 			taildrop.threshold = CONG_THRESHOLD_RX_BYTES_Q;
@@ -703,7 +703,7 @@  dpaa2_dev_rx_queue_setup(struct rte_eth_dev *dev,
 			ret = dpni_set_taildrop(dpni, CMD_PRI_LOW, priv->token,
 					DPNI_CP_CONGESTION_GROUP, DPNI_QUEUE_RX,
 					dpaa2_q->tc_index,
-					flow_id, &taildrop);
+					dpaa2_q->cgid, &taildrop);
 		} else {
 			ret = dpni_set_taildrop(dpni, CMD_PRI_LOW, priv->token,
 					DPNI_CP_QUEUE, DPNI_QUEUE_RX,