aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2023-02-16 16:17:20 +0200
committerMatias Elo <matias.elo@nokia.com>2023-02-24 08:44:23 +0200
commit3be70c20179bffd14f479908a40fb79673490cef (patch)
treef58e875752eb4b1ee220460e74aca6436602ae94
parent3f0a93e790849b69fc3a99649880f7c6821ebf4c (diff)
Port 8aee6094e "linux-gen: stash: reserve all memory from a single shm block"
Port original commit from linux-generic. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
-rw-r--r--config/odp-linux-dpdk.conf13
-rw-r--r--platform/linux-dpdk/include/odp_config_internal.h10
-rw-r--r--platform/linux-dpdk/m4/odp_libconfig.m42
-rw-r--r--platform/linux-dpdk/test/alternate-timer.conf2
-rw-r--r--platform/linux-dpdk/test/crypto.conf2
-rw-r--r--platform/linux-dpdk/test/process-mode.conf2
-rw-r--r--platform/linux-dpdk/test/sched-basic.conf2
7 files changed, 22 insertions, 11 deletions
diff --git a/config/odp-linux-dpdk.conf b/config/odp-linux-dpdk.conf
index f0bd808c2..1f868a0fe 100644
--- a/config/odp-linux-dpdk.conf
+++ b/config/odp-linux-dpdk.conf
@@ -16,7 +16,7 @@
# Mandatory fields
odp_implementation = "linux-dpdk"
-config_file_version = "0.1.19"
+config_file_version = "0.1.20"
# System options
system: {
@@ -218,6 +218,17 @@ sched_eventdev: {
num_ports = 0
}
+stash: {
+ # Maximum number of stashes
+ max_num = 512
+
+ # Maximum number of objects in a stash
+ #
+ # The value may be rounded up by the implementation. For optimal memory
+ # usage set value to a power of two - 1.
+ max_num_obj = 4095
+}
+
timer: {
# Inline timer poll interval
#
diff --git a/platform/linux-dpdk/include/odp_config_internal.h b/platform/linux-dpdk/include/odp_config_internal.h
index 18754184e..e104b9d24 100644
--- a/platform/linux-dpdk/include/odp_config_internal.h
+++ b/platform/linux-dpdk/include/odp_config_internal.h
@@ -1,5 +1,5 @@
/* Copyright (c) 2016-2018, Linaro Limited
- * Copyright (c) 2020-2021, Nokia
+ * Copyright (c) 2020-2023, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
@@ -70,7 +70,7 @@ extern "C" {
/*
* Maximum number of stashes
*/
-#define CONFIG_MAX_STASHES 128
+#define CONFIG_MAX_STASHES 2048
/*
* Maximum number of packet IO resources
@@ -133,10 +133,10 @@ extern "C" {
/*
* Number of shared memory blocks reserved for implementation internal use.
*
- * Each stash and packet pool requires one SHM block, and 20 blocks are
- * reserved for per ODP module global data.
+ * Each packet pool requires one SHM block and 20 blocks are reserved for
+ * ODP module global data.
*/
-#define CONFIG_INTERNAL_SHM_BLOCKS (CONFIG_MAX_STASHES + ODP_CONFIG_POOLS + 20)
+#define CONFIG_INTERNAL_SHM_BLOCKS (ODP_CONFIG_POOLS + 20)
/*
* Maximum number of shared memory blocks.
diff --git a/platform/linux-dpdk/m4/odp_libconfig.m4 b/platform/linux-dpdk/m4/odp_libconfig.m4
index 72bb291ff..fef0518a1 100644
--- a/platform/linux-dpdk/m4/odp_libconfig.m4
+++ b/platform/linux-dpdk/m4/odp_libconfig.m4
@@ -3,7 +3,7 @@
##########################################################################
m4_define([_odp_config_version_generation], [0])
m4_define([_odp_config_version_major], [1])
-m4_define([_odp_config_version_minor], [19])
+m4_define([_odp_config_version_minor], [20])
m4_define([_odp_config_version],
[_odp_config_version_generation._odp_config_version_major._odp_config_version_minor])
diff --git a/platform/linux-dpdk/test/alternate-timer.conf b/platform/linux-dpdk/test/alternate-timer.conf
index cacee9da4..c28c64f2e 100644
--- a/platform/linux-dpdk/test/alternate-timer.conf
+++ b/platform/linux-dpdk/test/alternate-timer.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-dpdk"
-config_file_version = "0.1.19"
+config_file_version = "0.1.20"
timer: {
# Enable alternate DPDK timer implementation
diff --git a/platform/linux-dpdk/test/crypto.conf b/platform/linux-dpdk/test/crypto.conf
index 3b8eec3ff..b775d707e 100644
--- a/platform/linux-dpdk/test/crypto.conf
+++ b/platform/linux-dpdk/test/crypto.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-dpdk"
-config_file_version = "0.1.19"
+config_file_version = "0.1.20"
system: {
# One crypto queue pair is required per thread for lockless operation
diff --git a/platform/linux-dpdk/test/process-mode.conf b/platform/linux-dpdk/test/process-mode.conf
index 2ded5d706..1c0b34d89 100644
--- a/platform/linux-dpdk/test/process-mode.conf
+++ b/platform/linux-dpdk/test/process-mode.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-dpdk"
-config_file_version = "0.1.19"
+config_file_version = "0.1.20"
dpdk: {
process_mode_memory_mb = 1024
diff --git a/platform/linux-dpdk/test/sched-basic.conf b/platform/linux-dpdk/test/sched-basic.conf
index fb894bd53..d5f6f1f60 100644
--- a/platform/linux-dpdk/test/sched-basic.conf
+++ b/platform/linux-dpdk/test/sched-basic.conf
@@ -1,6 +1,6 @@
# Mandatory fields
odp_implementation = "linux-dpdk"
-config_file_version = "0.1.19"
+config_file_version = "0.1.20"
# Test scheduler with an odd spread value and without dynamic load balance
sched_basic: {