aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include/odp_config_internal.h
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2019-06-10 12:39:47 +0300
committerPetri Savolainen <petri.savolainen@nokia.com>2019-06-14 13:41:21 +0300
commitd1df2b5511707783c2be6eda6c0d64663538bdfa (patch)
tree41cb27249830f62ad470bf03aa100bc82a092054 /platform/linux-generic/include/odp_config_internal.h
parentfeac45e3ed8fa871ae7f9826d0c045591f22ce42 (diff)
linux-gen: queue: configure max number of plain/scheduled queues
Add separate defines (CONFIG_MAX_PLAIN_QUEUES, CONFIG_MAX_SCHED_QUEUES) for configuring the maximum number of plain and scheduled queues. ODP_CONFIG_QUEUES define has been renamed to CONFIG_MAX_QUEUES to clearly separate it from API defines. Queue IDs are now allocated consecutively per queue type (scheduled queues [0, CONFIG_MAX_SCHED_QUEUES[ and plain queues[CONFIG_MAX_SCHED_QUEUES, CONFIG_MAX_QUEUES[). This makes scheduler load balancing more predictable since allocating plain queues won't affect to scheduler internal queue mappings. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Diffstat (limited to 'platform/linux-generic/include/odp_config_internal.h')
-rw-r--r--platform/linux-generic/include/odp_config_internal.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/platform/linux-generic/include/odp_config_internal.h b/platform/linux-generic/include/odp_config_internal.h
index 27f1db599..2e1d61d36 100644
--- a/platform/linux-generic/include/odp_config_internal.h
+++ b/platform/linux-generic/include/odp_config_internal.h
@@ -22,14 +22,28 @@ extern "C" {
#define ODP_CONFIG_POOLS 64
/*
- * Maximum number of queues
+ * Queues reserved for ODP internal use
*/
-#define ODP_CONFIG_QUEUES 1024
+#define CONFIG_INTERNAL_QUEUES 64
/*
- * Queues reserved for ODP internal use
+ * Maximum number of plain ODP queues
+ */
+#define CONFIG_MAX_PLAIN_QUEUES 1024
+
+/*
+ * Maximum number of scheduled ODP queues
+ *
+ * Must be a power of two.
+ */
+#define CONFIG_MAX_SCHED_QUEUES 1024
+
+/*
+ * Maximum number of queues
*/
-#define NUM_INTERNAL_QUEUES 64
+#define CONFIG_MAX_QUEUES (CONFIG_INTERNAL_QUEUES + \
+ CONFIG_MAX_PLAIN_QUEUES + \
+ CONFIG_MAX_SCHED_QUEUES)
/*
* Maximum number of ordered locks per queue