DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] net/ice: allow setting CIR
@ 2023-07-06 11:45 markus.theil
  2023-07-11  5:25 ` Wu, Wenjun1
  0 siblings, 1 reply; 3+ messages in thread
From: markus.theil @ 2023-07-06 11:45 UTC (permalink / raw)
  To: dev; +Cc: Qiming Yang, Qi Zhang, Michael Rossberg

From: Michael Rossberg <michael.rossberg@tu-ilmenau.de>

ice only allowed to set peak information rate (PIR), while the hardware
also supports setting committed information rate (CIR). In many use
cases both values are needed, therefore add support for CIR.

Signed-off-by: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
---
 drivers/net/ice/ice_tm.c | 39 ++++++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ice/ice_tm.c b/drivers/net/ice/ice_tm.c
index 34a0bfcff8..f5ea47ae83 100644
--- a/drivers/net/ice/ice_tm.c
+++ b/drivers/net/ice/ice_tm.c
@@ -693,6 +693,7 @@ static int ice_hierarchy_commit(struct rte_eth_dev *dev,
 	struct ice_vsi *vsi;
 	int ret_val = ICE_SUCCESS;
 	uint64_t peak = 0;
+	uint64_t committed = 0;
 	uint8_t priority;
 	uint32_t i;
 	uint32_t idx_vsi_child;
@@ -801,17 +802,33 @@ static int ice_hierarchy_commit(struct rte_eth_dev *dev,
 		q_teid = txq->q_teid;
 		if (tm_node->shaper_profile) {
 			/* Transfer from Byte per seconds to Kbps */
-			peak = tm_node->shaper_profile->profile.peak.rate;
-			peak = peak / 1000 * BITS_PER_BYTE;
-			ret_val = ice_cfg_q_bw_lmt(hw->port_info, vsi->idx,
-						   tm_node->tc, tm_node->id,
-						   ICE_MAX_BW, (u32)peak);
-			if (ret_val) {
-				error->type = RTE_TM_ERROR_TYPE_UNSPECIFIED;
-				PMD_DRV_LOG(ERR,
-					    "configure queue %u bandwidth failed",
-					    tm_node->id);
-				goto fail_clear;
+			if (tm_node->shaper_profile->profile.peak.rate > 0) {
+				peak = tm_node->shaper_profile->profile.peak.rate;
+				peak = peak / 1000 * BITS_PER_BYTE;
+				ret_val = ice_cfg_q_bw_lmt(hw->port_info, vsi->idx,
+							   tm_node->tc, tm_node->id,
+							   ICE_MAX_BW, (u32)peak);
+				if (ret_val) {
+					error->type = RTE_TM_ERROR_TYPE_UNSPECIFIED;
+					PMD_DRV_LOG(ERR,
+						    "configure queue %u peak bandwidth failed",
+						    tm_node->id);
+					goto fail_clear;
+				}
+			}
+			if (tm_node->shaper_profile->profile.committed.rate > 0) {
+				committed = tm_node->shaper_profile->profile.committed.rate;
+				committed = committed / 1000 * BITS_PER_BYTE;
+				ret_val = ice_cfg_q_bw_lmt(hw->port_info, vsi->idx,
+							   tm_node->tc, tm_node->id,
+							   ICE_MIN_BW, (u32)committed);
+				if (ret_val) {
+					error->type = RTE_TM_ERROR_TYPE_UNSPECIFIED;
+					PMD_DRV_LOG(ERR,
+						    "configure queue %u committed bandwidth failed",
+						    tm_node->id);
+					goto fail_clear;
+				}
 			}
 		}
 		priority = 7 - tm_node->priority;
-- 
2.41.0


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

* RE: [PATCH] net/ice: allow setting CIR
  2023-07-06 11:45 [PATCH] net/ice: allow setting CIR markus.theil
@ 2023-07-11  5:25 ` Wu, Wenjun1
  2023-07-11  7:08   ` Zhang, Qi Z
  0 siblings, 1 reply; 3+ messages in thread
From: Wu, Wenjun1 @ 2023-07-11  5:25 UTC (permalink / raw)
  To: markus.theil, dev; +Cc: Yang, Qiming, Zhang, Qi Z, Michael Rossberg

> -----Original Message-----
> From: markus.theil@tu-ilmenau.de <markus.theil@tu-ilmenau.de>
> Sent: Thursday, July 6, 2023 7:45 PM
> To: dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Michael Rossberg <michael.rossberg@tu-
> ilmenau.de>
> Subject: [PATCH] net/ice: allow setting CIR
> 
> From: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
> 
> ice only allowed to set peak information rate (PIR), while the hardware also
> supports setting committed information rate (CIR). In many use cases both
> values are needed, therefore add support for CIR.
> 
> Signed-off-by: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
> --
> 2.41.0

Acked-by: Wenjun Wu <wenjun1.wu@intel.com>

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

* RE: [PATCH] net/ice: allow setting CIR
  2023-07-11  5:25 ` Wu, Wenjun1
@ 2023-07-11  7:08   ` Zhang, Qi Z
  0 siblings, 0 replies; 3+ messages in thread
From: Zhang, Qi Z @ 2023-07-11  7:08 UTC (permalink / raw)
  To: Wu, Wenjun1, markus.theil, dev; +Cc: Yang, Qiming, Michael Rossberg



> -----Original Message-----
> From: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Sent: Tuesday, July 11, 2023 1:25 PM
> To: markus.theil@tu-ilmenau.de; dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Michael Rossberg <michael.rossberg@tu-ilmenau.de>
> Subject: RE: [PATCH] net/ice: allow setting CIR
> 
> > -----Original Message-----
> > From: markus.theil@tu-ilmenau.de <markus.theil@tu-ilmenau.de>
> > Sent: Thursday, July 6, 2023 7:45 PM
> > To: dev@dpdk.org
> > Cc: Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> > <qi.z.zhang@intel.com>; Michael Rossberg <michael.rossberg@tu-
> > ilmenau.de>
> > Subject: [PATCH] net/ice: allow setting CIR
> >
> > From: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
> >
> > ice only allowed to set peak information rate (PIR), while the
> > hardware also supports setting committed information rate (CIR). In
> > many use cases both values are needed, therefore add support for CIR.
> >
> > Signed-off-by: Michael Rossberg <michael.rossberg@tu-ilmenau.de>
> > --
> > 2.41.0
> 
> Acked-by: Wenjun Wu <wenjun1.wu@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

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

end of thread, other threads:[~2023-07-11  7:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-06 11:45 [PATCH] net/ice: allow setting CIR markus.theil
2023-07-11  5:25 ` Wu, Wenjun1
2023-07-11  7:08   ` Zhang, Qi Z

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).