DPDK patches and discussions
 help / color / mirror / Atom feed
* [RFC PATCH] config: make queues per port a meson config option
@ 2024-08-12 13:29 Bruce Richardson
  2024-08-12 14:10 ` Morten Brørup
                   ` (2 more replies)
  0 siblings, 3 replies; 69+ messages in thread
From: Bruce Richardson @ 2024-08-12 13:29 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, thomas, Bruce Richardson

The default number of ethernet queues per port is currently set to
1k which is more than enough for most applications, but still is lower
than the total number of queues which may be available on modern NICs.
Rather than increasing the max queues further, which will increase
the memory footprint (since the value is used in array dimensioning),
we can instead make the value a meson tunable option - and reduce the
default value to 256 in the process. This means that:

* most apps which don't need hundreds of queues will see lower mem use.
* apps which do need to use thousands of queues can configure DPDK to
  allow this, without having to modify DPDK files (i.e. rte_config.h)

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 config/meson.build  | 1 +
 config/rte_config.h | 1 -
 meson_options.txt   | 2 ++
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/config/meson.build b/config/meson.build
index 8c8b019c25..e9e40ce874 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -352,6 +352,7 @@ endforeach
 
 # set other values pulled from the build options
 dpdk_conf.set('RTE_MAX_ETHPORTS', get_option('max_ethports'))
+dpdk_conf.set('RTE_MAX_QUEUES_PER_PORT', get_option('max_queues_per_ethport'))
 dpdk_conf.set('RTE_LIBEAL_USE_HPET', get_option('use_hpet'))
 dpdk_conf.set('RTE_ENABLE_STDATOMIC', get_option('enable_stdatomic'))
 dpdk_conf.set('RTE_ENABLE_TRACE_FP', get_option('enable_trace_fp'))
diff --git a/config/rte_config.h b/config/rte_config.h
index dd7bb0d35b..eec1932d0f 100644
--- a/config/rte_config.h
+++ b/config/rte_config.h
@@ -64,7 +64,6 @@
 #define RTE_MBUF_DEFAULT_MEMPOOL_OPS "ring_mp_mc"
 
 /* ether defines */
-#define RTE_MAX_QUEUES_PER_PORT 1024
 #define RTE_ETHDEV_QUEUE_STAT_CNTRS 16 /* max 256 */
 #define RTE_ETHDEV_RXTX_CALLBACKS 1
 #define RTE_MAX_MULTI_HOST_CTRLS 4
diff --git a/meson_options.txt b/meson_options.txt
index e49b2fc089..e5e94dc4bf 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -44,6 +44,8 @@ option('max_lcores', type: 'string', value: 'default', description:
        'Set maximum number of cores/threads supported by EAL; "default" is different per-arch, "detect" detects the number of cores on the build machine.')
 option('max_numa_nodes', type: 'string', value: 'default', description:
        'Set the highest NUMA node supported by EAL; "default" is different per-arch, "detect" detects the highest NUMA node on the build machine.')
+option('max_queues_per_ethport', type: 'integer', value: 256, description:
+       'maximum number of queues on an Ethernet device')
 option('enable_iova_as_pa', type: 'boolean', value: true, description:
        'Support the use of physical addresses for IO addresses, such as used by UIO or VFIO in no-IOMMU mode. When disabled, DPDK can only run with IOMMU support for address mappings, but will have more space available in the mbuf structure.')
 option('mbuf_refcnt_atomic', type: 'boolean', value: true, description:
-- 
2.43.0


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

end of thread, other threads:[~2024-09-19 15:09 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-12 13:29 [RFC PATCH] config: make queues per port a meson config option Bruce Richardson
2024-08-12 14:10 ` Morten Brørup
2024-08-12 14:18   ` Bruce Richardson
2024-08-12 15:02     ` Morten Brørup
2024-08-12 15:09       ` Bruce Richardson
2024-08-13 15:59 ` [RFC PATCH v2 00/26] add meson config options for queues per port Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 01/26] cryptodev: remove use of ethdev max queues definition Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 02/26] eventdev: remove use of ethev queues define Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 03/26] app/test-bbdev: remove use of ethdev queue count value Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 04/26] config: add separate defines for max Rx and Tx queues Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 05/26] ethdev: use separate Rx and Tx queue limits Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 06/26] bpf: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 07/26] latencystats: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 08/26] pdump: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 09/26] power: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 10/26] net/af_xdp: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 11/26] net/cnxk: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 12/26] net/failsafe: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 13/26] net/hns3: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 14/26] net/mlx5: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 15/26] net/null: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 16/26] net/sfc: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 17/26] net/thunderx: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 18/26] net/vhost: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 19/26] app/dumpcap: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 20/26] app/test-pmd: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 21/26] examples/ipsec-secgw: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 22/26] examples/l3fwd-power: " Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 23/26] examples/l3fwd: " Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 24/26] examples/vhost: " Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 25/26] config: make queues per port a meson config option Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 26/26] config: add computed max queues define for compatibility Bruce Richardson
2024-08-14 15:01     ` Stephen Hemminger
2024-08-14 15:12       ` Bruce Richardson
2024-08-14  7:43   ` [RFC PATCH v2 00/26] add meson config options for queues per port Morten Brørup
2024-08-14  7:48   ` Morten Brørup
2024-08-14  7:51     ` Bruce Richardson
2024-08-14 10:49 ` [PATCH v3 " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 01/26] cryptodev: remove use of ethdev max queues definition Bruce Richardson
2024-09-19 13:16     ` David Marchand
2024-08-14 10:49   ` [PATCH v3 02/26] eventdev: remove use of ethev queues define Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 03/26] app/test-bbdev: remove use of ethdev queue count value Bruce Richardson
2024-09-19 13:36     ` David Marchand
2024-08-14 10:49   ` [PATCH v3 04/26] config: add separate defines for max Rx and Tx queues Bruce Richardson
2024-09-10  2:54     ` fengchengwen
2024-08-14 10:49   ` [PATCH v3 05/26] ethdev: use separate Rx and Tx queue limits Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 06/26] bpf: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 07/26] latencystats: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 08/26] pdump: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 09/26] power: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 10/26] net/af_xdp: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 11/26] net/cnxk: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 12/26] net/failsafe: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 13/26] net/hns3: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 14/26] net/mlx5: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 15/26] net/null: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 16/26] net/sfc: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 17/26] net/thunderx: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 18/26] net/vhost: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 19/26] app/dumpcap: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 20/26] app/test-pmd: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 21/26] examples/ipsec-secgw: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 22/26] examples/l3fwd-power: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 23/26] examples/l3fwd: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 24/26] examples/vhost: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 25/26] config: make queues per port a meson config option Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 26/26] config: add computed max queues define for compatibility Bruce Richardson
2024-09-19 14:14   ` [PATCH v3 00/26] add meson config options for queues per port David Marchand
2024-09-19 15:08     ` Bruce Richardson

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