aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include/odp_config_internal.h
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@nokia.com>2016-11-21 16:53:27 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2017-01-12 17:57:42 +0300
commit02c46a3a671bca6de5159a59be45663bca516753 (patch)
treee6969084e1ac78521c0ebd1345c7d7c257598557 /platform/linux-generic/include/odp_config_internal.h
parent123327606c2dd95a6a85c80e74ad172932195631 (diff)
linux-gen: pool: reimplement pool with ring
Used the ring data structure to implement pool. Also buffer structure was simplified to enable future driver interface. Every buffer includes a packet header, so each buffer can be used as a packet head or segment. Segmentation was disabled and segment size was fixed to a large number (64kB) to limit the number of modification in the commit. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/include/odp_config_internal.h')
-rw-r--r--platform/linux-generic/include/odp_config_internal.h34
1 files changed, 22 insertions, 12 deletions
diff --git a/platform/linux-generic/include/odp_config_internal.h b/platform/linux-generic/include/odp_config_internal.h
index b7ff610bd..3fd1c931c 100644
--- a/platform/linux-generic/include/odp_config_internal.h
+++ b/platform/linux-generic/include/odp_config_internal.h
@@ -32,7 +32,7 @@ extern "C" {
* This defines the minimum supported buffer alignment. Requests for values
* below this will be rounded up to this value.
*/
-#define ODP_CONFIG_BUFFER_ALIGN_MIN 16
+#define ODP_CONFIG_BUFFER_ALIGN_MIN 64
/*
* Maximum buffer alignment
@@ -70,16 +70,7 @@ extern "C" {
/*
* Maximum number of segments per packet
*/
-#define ODP_CONFIG_PACKET_MAX_SEGS 6
-
-/*
- * Minimum packet segment length
- *
- * This defines the minimum packet segment buffer length in bytes. The user
- * defined segment length (seg_len in odp_pool_param_t) will be rounded up into
- * this value.
- */
-#define ODP_CONFIG_PACKET_SEG_LEN_MIN 1598
+#define ODP_CONFIG_PACKET_MAX_SEGS 1
/*
* Maximum packet segment length
@@ -91,6 +82,15 @@ extern "C" {
#define ODP_CONFIG_PACKET_SEG_LEN_MAX (64 * 1024)
/*
+ * Minimum packet segment length
+ *
+ * This defines the minimum packet segment buffer length in bytes. The user
+ * defined segment length (seg_len in odp_pool_param_t) will be rounded up into
+ * this value.
+ */
+#define ODP_CONFIG_PACKET_SEG_LEN_MIN ODP_CONFIG_PACKET_SEG_LEN_MAX
+
+/*
* Maximum packet buffer length
*
* This defines the maximum number of bytes that can be stored into a packet
@@ -102,7 +102,7 @@ extern "C" {
* - The value MUST be an integral number of segments
* - The value SHOULD be large enough to accommodate jumbo packets (9K)
*/
-#define ODP_CONFIG_PACKET_BUF_LEN_MAX (ODP_CONFIG_PACKET_SEG_LEN_MIN * 6)
+#define ODP_CONFIG_PACKET_BUF_LEN_MAX ODP_CONFIG_PACKET_SEG_LEN_MAX
/* Maximum number of shared memory blocks.
*
@@ -118,6 +118,16 @@ extern "C" {
*/
#define CONFIG_BURST_SIZE 16
+/*
+ * Maximum number of events in a pool
+ */
+#define CONFIG_POOL_MAX_NUM (1 * 1024 * 1024)
+
+/*
+ * Maximum number of events in a thread local pool cache
+ */
+#define CONFIG_POOL_CACHE_SIZE 256
+
#ifdef __cplusplus
}
#endif