DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v1 1/1] net/octeontx2: fix optimal default smq buffer count
@ 2019-08-05 13:29 vattunuru
  2019-08-05 15:37 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe " vattunuru
  0 siblings, 1 reply; 3+ messages in thread
From: vattunuru @ 2019-08-05 13:29 UTC (permalink / raw)
  To: dev; +Cc: thomas, jerinj, Vamsi Attunuru

From: Vamsi Attunuru <vattunuru@marvell.com>

Patch extends minimum supported max_sqb_count devarg value
such that it can limit the max sqb count to 8 buffers and
also defines NIX_DEF_SQB and uses it to compute the number
of smq buffers required for the egress traffic.

NIX_DEF_SQB is defined as 16 which is optimal across multiple
octeontx2 platforms to scale up the performance proportional
to the corresponding port/queue to lcore mappings.

Fixes: fb0198b7dc07 ("net/octeontx2: add devargs parsing functions")

Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
---
 drivers/net/octeontx2/otx2_ethdev.c         | 2 +-
 drivers/net/octeontx2/otx2_ethdev.h         | 3 ++-
 drivers/net/octeontx2/otx2_ethdev_devargs.c | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 3fb7bd9..3615ed2 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -810,7 +810,7 @@ nix_alloc_sqb_pool(int port, struct otx2_eth_txq *txq, uint16_t nb_desc)
 
 	nb_sqb_bufs = nb_desc / sqes_per_sqb;
 	/* Clamp up to devarg passed SQB count */
-	nb_sqb_bufs =  RTE_MIN(dev->max_sqb_count, RTE_MAX(NIX_MIN_SQB,
+	nb_sqb_bufs =  RTE_MIN(dev->max_sqb_count, RTE_MAX(NIX_DEF_SQB,
 			      nb_sqb_bufs + NIX_SQB_LIST_SPACE));
 
 	txq->sqb_pool = rte_mempool_create_empty(name, NIX_MAX_SQB, blk_sz,
diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h
index 720386f..027b909 100644
--- a/drivers/net/octeontx2/otx2_ethdev.h
+++ b/drivers/net/octeontx2/otx2_ethdev.h
@@ -66,7 +66,8 @@
 	(NIX_MAX_FRS - NIX_L2_OVERHEAD)
 
 #define NIX_MAX_SQB			512
-#define NIX_MIN_SQB			32
+#define NIX_DEF_SQB			16
+#define NIX_MIN_SQB			8
 #define NIX_SQB_LIST_SPACE		2
 #define NIX_RSS_RETA_SIZE_MAX		256
 /* Group 0 will be used for RSS, 1 -7 will be used for rte_flow RSS action*/
diff --git a/drivers/net/octeontx2/otx2_ethdev_devargs.c b/drivers/net/octeontx2/otx2_ethdev_devargs.c
index 85e7e31..7dc6e92 100644
--- a/drivers/net/octeontx2/otx2_ethdev_devargs.c
+++ b/drivers/net/octeontx2/otx2_ethdev_devargs.c
@@ -160,6 +160,6 @@ RTE_PMD_REGISTER_PARAM_STRING(net_octeontx2,
 			      OTX2_RSS_RETA_SIZE "=<64|128|256>"
 			      OTX2_PTYPE_DISABLE "=1"
 			      OTX2_SCL_ENABLE "=1"
-			      OTX2_MAX_SQB_COUNT "=<32-512>"
+			      OTX2_MAX_SQB_COUNT "=<8-512>"
 			      OTX2_FLOW_PREALLOC_SIZE "=<1-32>"
 			      OTX2_FLOW_MAX_PRIORITY "=<1-32>");
-- 
2.8.4


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

* [dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe buffer count
  2019-08-05 13:29 [dpdk-dev] [PATCH v1 1/1] net/octeontx2: fix optimal default smq buffer count vattunuru
@ 2019-08-05 15:37 ` vattunuru
  2019-08-05 16:23   ` Jerin Jacob Kollanukkaran
  0 siblings, 1 reply; 3+ messages in thread
From: vattunuru @ 2019-08-05 15:37 UTC (permalink / raw)
  To: dev; +Cc: thomas, jerinj, Vamsi Attunuru

From: Vamsi Attunuru <vattunuru@marvell.com>

Patch extends minimum supported max_sqb_count devarg value
such that it can limit the max sqb count to 8 buffers and
also defines NIX_DEF_SQB and uses it to compute the number
of sqe buffers required for the egress traffic.

NIX_DEF_SQB is defined as 16 which is optimal across multiple
octeontx2 platforms to scale up the performance proportional
to the corresponding port/queue to lcore mappings.

Fixes: fb0198b7dc07 ("net/octeontx2: add devargs parsing functions")

Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
---
V2 Changes:
* Minor correction in commit message. 

 drivers/net/octeontx2/otx2_ethdev.c         | 2 +-
 drivers/net/octeontx2/otx2_ethdev.h         | 3 ++-
 drivers/net/octeontx2/otx2_ethdev_devargs.c | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 3fb7bd9..3615ed2 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -810,7 +810,7 @@ nix_alloc_sqb_pool(int port, struct otx2_eth_txq *txq, uint16_t nb_desc)
 
 	nb_sqb_bufs = nb_desc / sqes_per_sqb;
 	/* Clamp up to devarg passed SQB count */
-	nb_sqb_bufs =  RTE_MIN(dev->max_sqb_count, RTE_MAX(NIX_MIN_SQB,
+	nb_sqb_bufs =  RTE_MIN(dev->max_sqb_count, RTE_MAX(NIX_DEF_SQB,
 			      nb_sqb_bufs + NIX_SQB_LIST_SPACE));
 
 	txq->sqb_pool = rte_mempool_create_empty(name, NIX_MAX_SQB, blk_sz,
diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h
index 720386f..027b909 100644
--- a/drivers/net/octeontx2/otx2_ethdev.h
+++ b/drivers/net/octeontx2/otx2_ethdev.h
@@ -66,7 +66,8 @@
 	(NIX_MAX_FRS - NIX_L2_OVERHEAD)
 
 #define NIX_MAX_SQB			512
-#define NIX_MIN_SQB			32
+#define NIX_DEF_SQB			16
+#define NIX_MIN_SQB			8
 #define NIX_SQB_LIST_SPACE		2
 #define NIX_RSS_RETA_SIZE_MAX		256
 /* Group 0 will be used for RSS, 1 -7 will be used for rte_flow RSS action*/
diff --git a/drivers/net/octeontx2/otx2_ethdev_devargs.c b/drivers/net/octeontx2/otx2_ethdev_devargs.c
index 85e7e31..7dc6e92 100644
--- a/drivers/net/octeontx2/otx2_ethdev_devargs.c
+++ b/drivers/net/octeontx2/otx2_ethdev_devargs.c
@@ -160,6 +160,6 @@ RTE_PMD_REGISTER_PARAM_STRING(net_octeontx2,
 			      OTX2_RSS_RETA_SIZE "=<64|128|256>"
 			      OTX2_PTYPE_DISABLE "=1"
 			      OTX2_SCL_ENABLE "=1"
-			      OTX2_MAX_SQB_COUNT "=<32-512>"
+			      OTX2_MAX_SQB_COUNT "=<8-512>"
 			      OTX2_FLOW_PREALLOC_SIZE "=<1-32>"
 			      OTX2_FLOW_MAX_PRIORITY "=<1-32>");
-- 
2.8.4


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

* Re: [dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe buffer count
  2019-08-05 15:37 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe " vattunuru
@ 2019-08-05 16:23   ` Jerin Jacob Kollanukkaran
  0 siblings, 0 replies; 3+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-08-05 16:23 UTC (permalink / raw)
  To: Vamsi Krishna Attunuru, dev; +Cc: thomas, Vamsi Krishna Attunuru



> -----Original Message-----
> From: vattunuru@marvell.com <vattunuru@marvell.com>
> Sent: Monday, August 5, 2019 9:08 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> Vamsi Krishna Attunuru <vattunuru@marvell.com>
> Subject: [dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe
> buffer count
> 
> From: Vamsi Attunuru <vattunuru@marvell.com>
> 
> Patch extends minimum supported max_sqb_count devarg value such that it
> can limit the max sqb count to 8 buffers and also defines NIX_DEF_SQB and
> uses it to compute the number of sqe buffers required for the egress traffic.
> 
> NIX_DEF_SQB is defined as 16 which is optimal across multiple
> octeontx2 platforms to scale up the performance proportional to the
> corresponding port/queue to lcore mappings.
> 
> Fixes: fb0198b7dc07 ("net/octeontx2: add devargs parsing functions")
> 
> Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>


Acked-by: Jerin Jacob <jerinj@marvell.com>
Applied to dpdk-next-net-mrvl/master. Thanks

> ---
> V2 Changes:
> * Minor correction in commit message.
> 
>  drivers/net/octeontx2/otx2_ethdev.c         | 2 +-
>  drivers/net/octeontx2/otx2_ethdev.h         | 3 ++-
>  drivers/net/octeontx2/otx2_ethdev_devargs.c | 2 +-
>  3 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/octeontx2/otx2_ethdev.c
> b/drivers/net/octeontx2/otx2_ethdev.c
> index 3fb7bd9..3615ed2 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.c
> +++ b/drivers/net/octeontx2/otx2_ethdev.c
> @@ -810,7 +810,7 @@ nix_alloc_sqb_pool(int port, struct otx2_eth_txq
> *txq, uint16_t nb_desc)
> 
>  	nb_sqb_bufs = nb_desc / sqes_per_sqb;
>  	/* Clamp up to devarg passed SQB count */
> -	nb_sqb_bufs =  RTE_MIN(dev->max_sqb_count,
> RTE_MAX(NIX_MIN_SQB,
> +	nb_sqb_bufs =  RTE_MIN(dev->max_sqb_count,
> RTE_MAX(NIX_DEF_SQB,
>  			      nb_sqb_bufs + NIX_SQB_LIST_SPACE));
> 
>  	txq->sqb_pool = rte_mempool_create_empty(name,
> NIX_MAX_SQB, blk_sz, diff --git a/drivers/net/octeontx2/otx2_ethdev.h
> b/drivers/net/octeontx2/otx2_ethdev.h
> index 720386f..027b909 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.h
> +++ b/drivers/net/octeontx2/otx2_ethdev.h
> @@ -66,7 +66,8 @@
>  	(NIX_MAX_FRS - NIX_L2_OVERHEAD)
> 
>  #define NIX_MAX_SQB			512
> -#define NIX_MIN_SQB			32
> +#define NIX_DEF_SQB			16
> +#define NIX_MIN_SQB			8
>  #define NIX_SQB_LIST_SPACE		2
>  #define NIX_RSS_RETA_SIZE_MAX		256
>  /* Group 0 will be used for RSS, 1 -7 will be used for rte_flow RSS action*/
> diff --git a/drivers/net/octeontx2/otx2_ethdev_devargs.c
> b/drivers/net/octeontx2/otx2_ethdev_devargs.c
> index 85e7e31..7dc6e92 100644
> --- a/drivers/net/octeontx2/otx2_ethdev_devargs.c
> +++ b/drivers/net/octeontx2/otx2_ethdev_devargs.c
> @@ -160,6 +160,6 @@
> RTE_PMD_REGISTER_PARAM_STRING(net_octeontx2,
>  			      OTX2_RSS_RETA_SIZE "=<64|128|256>"
>  			      OTX2_PTYPE_DISABLE "=1"
>  			      OTX2_SCL_ENABLE "=1"
> -			      OTX2_MAX_SQB_COUNT "=<32-512>"
> +			      OTX2_MAX_SQB_COUNT "=<8-512>"
>  			      OTX2_FLOW_PREALLOC_SIZE "=<1-32>"
>  			      OTX2_FLOW_MAX_PRIORITY "=<1-32>");
> --
> 2.8.4


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

end of thread, other threads:[~2019-08-05 16:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-05 13:29 [dpdk-dev] [PATCH v1 1/1] net/octeontx2: fix optimal default smq buffer count vattunuru
2019-08-05 15:37 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx2: fix optimal default sqe " vattunuru
2019-08-05 16:23   ` Jerin Jacob Kollanukkaran

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