lib/librte_ethdev: expand queue threshold size of RED parameters

Message ID 1534382056-98198-1-git-send-email-rosen.xu@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Cristian Dumitrescu
Headers
Series lib/librte_ethdev: expand queue threshold size of RED parameters |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Xu, Rosen Aug. 16, 2018, 1:14 a.m. UTC
  There's very commonly that more than 4G DDR memory in NIC for HQoS,
so right now the queue threshold size of RED needs to expand to
uint64_t. This patch fixes it.

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
---
 lib/librte_ethdev/rte_tm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Cristian Dumitrescu Aug. 16, 2018, 8:51 a.m. UTC | #1
> -----Original Message-----
> From: Xu, Rosen
> Sent: Thursday, August 16, 2018 2:14 AM
> To: dev@dpdk.org
> Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Singh, Jasvinder <jasvinder.singh@intel.com>;
> jerin.jacob@caviumnetworks.com; Xu, Rosen <rosen.xu@intel.com>; Yigit,
> Ferruh <ferruh.yigit@intel.com>
> Subject: [PATCH] lib/librte_ethdev: expand queue threshold size of RED
> parameters
> 
> There's very commonly that more than 4G DDR memory in NIC for HQoS,
> so right now the queue threshold size of RED needs to expand to
> uint64_t. This patch fixes it.
> 
> Signed-off-by: Rosen Xu <rosen.xu@intel.com>
> ---
>  lib/librte_ethdev/rte_tm.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h
> index 955f02f..646ef38 100644
> --- a/lib/librte_ethdev/rte_tm.h
> +++ b/lib/librte_ethdev/rte_tm.h
> @@ -831,10 +831,10 @@ enum rte_tm_cman_mode {
>   */
>  struct rte_tm_red_params {
>  	/** Minimum queue threshold */
> -	uint32_t min_th;
> +	uint64_t min_th;
> 
>  	/** Maximum queue threshold */
> -	uint32_t max_th;
> +	uint64_t max_th;
> 
>  	/** Inverse of packet marking probability maximum value (maxp),
> i.e.
>  	 * maxp_inv = 1 / maxp
> --
> 1.8.3.1

Did you also check that this change does not break any drivers that are currently using the ethdev TM API?
  
Cristian Dumitrescu Oct. 8, 2018, 3:59 p.m. UTC | #2
> -----Original Message-----
> From: Xu, Rosen
> Sent: Thursday, August 16, 2018 2:14 AM
> To: dev@dpdk.org
> Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Singh, Jasvinder <jasvinder.singh@intel.com>;
> jerin.jacob@caviumnetworks.com; Xu, Rosen <rosen.xu@intel.com>; Yigit,
> Ferruh <ferruh.yigit@intel.com>
> Subject: [PATCH] lib/librte_ethdev: expand queue threshold size of RED
> parameters
> 
> There's very commonly that more than 4G DDR memory in NIC for HQoS,
> so right now the queue threshold size of RED needs to expand to
> uint64_t. This patch fixes it.
> 
> Signed-off-by: Rosen Xu <rosen.xu@intel.com>
> ---
>  lib/librte_ethdev/rte_tm.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h
> index 955f02f..646ef38 100644
> --- a/lib/librte_ethdev/rte_tm.h
> +++ b/lib/librte_ethdev/rte_tm.h
> @@ -831,10 +831,10 @@ enum rte_tm_cman_mode {
>   */
>  struct rte_tm_red_params {
>  	/** Minimum queue threshold */
> -	uint32_t min_th;
> +	uint64_t min_th;
> 
>  	/** Maximum queue threshold */
> -	uint32_t max_th;
> +	uint64_t max_th;
> 
>  	/** Inverse of packet marking probability maximum value (maxp),
> i.e.
>  	 * maxp_inv = 1 / maxp
> --
> 1.8.3.1

Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

Applied to next-qos tree, thanks!
  
Xu, Rosen Oct. 9, 2018, 12:02 a.m. UTC | #3
> -----Original Message-----
> From: Dumitrescu, Cristian
> Sent: Tuesday, October 09, 2018 0:00
> To: Xu, Rosen <rosen.xu@intel.com>; dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Singh, Jasvinder
> <jasvinder.singh@intel.com>; jerin.jacob@caviumnetworks.com; Yigit,
> Ferruh <ferruh.yigit@intel.com>
> Subject: RE: [PATCH] lib/librte_ethdev: expand queue threshold size of RED
> parameters
> 
> 
> 
> > -----Original Message-----
> > From: Xu, Rosen
> > Sent: Thursday, August 16, 2018 2:14 AM
> > To: dev@dpdk.org
> > Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Lu, Wenzhuo
> > <wenzhuo.lu@intel.com>; Singh, Jasvinder <jasvinder.singh@intel.com>;
> > jerin.jacob@caviumnetworks.com; Xu, Rosen <rosen.xu@intel.com>; Yigit,
> > Ferruh <ferruh.yigit@intel.com>
> > Subject: [PATCH] lib/librte_ethdev: expand queue threshold size of RED
> > parameters
> >
> > There's very commonly that more than 4G DDR memory in NIC for HQoS,
> so
> > right now the queue threshold size of RED needs to expand to uint64_t.
> > This patch fixes it.
> >
> > Signed-off-by: Rosen Xu <rosen.xu@intel.com>
> > ---
> >  lib/librte_ethdev/rte_tm.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h
> > index 955f02f..646ef38 100644
> > --- a/lib/librte_ethdev/rte_tm.h
> > +++ b/lib/librte_ethdev/rte_tm.h
> > @@ -831,10 +831,10 @@ enum rte_tm_cman_mode {
> >   */
> >  struct rte_tm_red_params {
> >  	/** Minimum queue threshold */
> > -	uint32_t min_th;
> > +	uint64_t min_th;
> >
> >  	/** Maximum queue threshold */
> > -	uint32_t max_th;
> > +	uint64_t max_th;
> >
> >  	/** Inverse of packet marking probability maximum value (maxp), i.e.
> >  	 * maxp_inv = 1 / maxp
> > --
> > 1.8.3.1
> 
> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
> 
> Applied to next-qos tree, thanks!

Okay, thanks a lot Cristian.
What means nex-qos tree? 18.11?
  

Patch

diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h
index 955f02f..646ef38 100644
--- a/lib/librte_ethdev/rte_tm.h
+++ b/lib/librte_ethdev/rte_tm.h
@@ -831,10 +831,10 @@  enum rte_tm_cman_mode {
  */
 struct rte_tm_red_params {
 	/** Minimum queue threshold */
-	uint32_t min_th;
+	uint64_t min_th;
 
 	/** Maximum queue threshold */
-	uint32_t max_th;
+	uint64_t max_th;
 
 	/** Inverse of packet marking probability maximum value (maxp), i.e.
 	 * maxp_inv = 1 / maxp