Hi, Genis

On 15.07.15 18:47, Genis Riera wrote:
A new headroom parameter is added to odp_pool_param_t when the pool is
type of ODP_POOL_PACKET, so that headroom size could be configured at
pool initialization time (ODP application runtime).

Signed-off-by: Genis Riera Perez <[email protected]
<mailto:[email protected]>>
--
  include/odp/api/pool.h            |  5 +++++
  platform/linux-generic/odp_pool.c | 10 +++++++++-
  2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/include/odp/api/pool.h b/include/odp/api/pool.h
index e5061ab..913f510 100644
--- a/include/odp/api/pool.h
+++ b/include/odp/api/pool.h
@@ -82,6 +82,11 @@ typedef struct odp_pool_param_t {
                         /** User area size in bytes. Specify as 0 if no
user
                             area is needed. */
                         uint32_t uarea_size;
+
+                       /** Packet headroom size in bytes. The maximum
and the
+                           default value is defined by
ODP_CONFIG_PACKET_HEADROOM.
+                           Use 0 for default. */
+                       uint32_t headroom;
                 } pkt;
                 struct {
                         /** Number of timeouts in the pool */
diff --git a/platform/linux-generic/odp_pool.c
b/platform/linux-generic/odp_pool.c
index dcbdf07..9359e53 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -201,7 +201,15 @@ odp_pool_t odp_pool_create(const char *name,
         case ODP_POOL_PACKET:
                 unseg = 0; /* Packets are always segmented */
-               headroom = ODP_CONFIG_PACKET_HEADROOM;
+
+               /* If headroom is not specified by params,
+                  set it to the default */
+               if (params->pkt.headroom <= 0 ||
+                   params->pkt.headroom > ODP_CONFIG_PACKET_HEADROOM)

Can headroom be < 0?

+                       headroom = ODP_CONFIG_PACKET_HEADROOM;
+               else
+                       headroom = params->pkt.headroom;
+
                 tailroom = ODP_CONFIG_PACKET_TAILROOM;
                 buf_num = params->pkt.num;


Genís Riera Pérez
Software Engineer at StarFlow Networks
Edifici K2M, S103 c/ Jordi Girona 31
08034 Barcelona

E-mail: [email protected] <mailto:[email protected]>


_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to