[v3,26/26] config: add computed max queues define for compatibility
Checks
Commit Message
End applications may use the RTE_MAX_QUEUES_PER_PORT define in their
structure definitions, so keep a define present in DPDK for backward
compatibility. Rather than having a hard-coded value, we can use the
maximum of the Rx and Tx values as the overall max value. Rather than
using a macro which does the MAX() calculation inside it, we can compute
the actual value at configuration time and write it using meson.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
config/meson.build | 8 ++++++++
doc/guides/rel_notes/deprecation.rst | 11 +++++++++++
doc/guides/rel_notes/release_24_11.rst | 8 +++++++-
3 files changed, 26 insertions(+), 1 deletion(-)
@@ -372,6 +372,14 @@ if get_option('mbuf_refcnt_atomic')
endif
dpdk_conf.set10('RTE_IOVA_IN_MBUF', get_option('enable_iova_as_pa'))
+# set old MAX_QUEUES_PER_PORT option for compatibility. Compute
+# value as max of Rx and Tx counts
+if get_option('max_ethport_rx_queues') > get_option('max_ethport_tx_queues')
+ dpdk_conf.set('RTE_MAX_QUEUES_PER_PORT', get_option('max_ethport_rx_queues'))
+else
+ dpdk_conf.set('RTE_MAX_QUEUES_PER_PORT', get_option('max_ethport_tx_queues'))
+endif
+
compile_time_cpuflags = []
subdir(arch_subdir)
dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags))
@@ -17,6 +17,17 @@ Other API and ABI deprecation notices are to be posted below.
Deprecation Notices
-------------------
+* config: The define ``RTE_MAX_QUEUES_PER_PORT`` should be considered deprecated
+ and may be removed in a future release.
+ Its use in apps should be replaced by ``RTE_MAX_ETHPORT_RX_QUEUES`` or ``RTE_MAX_ETHPORT_TX_QUEUES``,
+ as appropriate.
+
+* config: The ``RTE_MAX_QUEUES_PER_PORT`` value is no longer hard-coded to 1024.
+ Its value is now computed at configuration time to be the maximum of the configured max Rx and Tx queue values,
+ given by the meson options ``max_ethport_rx_queues`` and ``max_ethport_tx_queues``.
+ If these are unmodified from the defaults,
+ the value of ``RTE_MAX_QUEUES_PER_PORT`` will be 256.
+
* build: The ``enable_kmods`` option is deprecated and will be removed in a future release.
Setting/clearing the option has no impact on the build.
Instead, kernel modules will be always built for OS's where out-of-tree kernel modules
@@ -67,9 +67,15 @@ New Features
The default max values for Rx and Tx queue limits are reduced from 1024, in previous releases,
to 256 in this release.
- For application that require large numbers of queues,
+ For applications that require large numbers of queues,
these defaults can be changed via the meson configuration options described above.
+.. note::
+
+ The define ``RTE_MAX_QUEUES_PER_PORT`` is kept for backward compatibility.
+ Its value is no longer hard-coded,
+ but is set, at configuration time, to the maximum of the configured max Rx and Tx queue values.
+
Removed Items
-------------