aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorBill Fischofer <bill.fischofer@linaro.org>2014-12-15 19:09:49 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2014-12-16 01:26:23 +0300
commit0d934707499ff6770829d6f305bf3679247d8d0f (patch)
tree83c361e8dbc6214613d647e957589a1defad26b9 /example
parent2fadaf4fef2b309da5c7477a9848737ec43e462e (diff)
api: buffer: change pool create
Modify pool create API to be able to specify number of buffers directly. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'example')
-rw-r--r--example/generator/odp_generator.c19
-rw-r--r--example/ipsec/odp_ipsec.c57
-rw-r--r--example/l2fwd/odp_l2fwd.c19
-rw-r--r--example/odp_example/odp_example.c18
-rw-r--r--example/packet/odp_pktio.c20
-rw-r--r--example/timer/odp_timer_test.c13
6 files changed, 50 insertions, 96 deletions
diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c
index 8c227bc0a..a67910ebb 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -522,11 +522,11 @@ int main(int argc, char *argv[])
odph_linux_pthread_t thread_tbl[MAX_WORKERS];
odp_buffer_pool_t pool;
int num_workers;
- void *pool_base;
int i;
int first_core;
int core_count;
odp_shm_t shm;
+ odp_buffer_pool_param_t params;
/* Init ODP before calling anything else */
if (odp_init_global(NULL, NULL)) {
@@ -589,20 +589,13 @@ int main(int argc, char *argv[])
printf("First core: %i\n\n", first_core);
/* Create packet pool */
- shm = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
- pool_base = odp_shm_addr(shm);
+ params.buf_size = SHM_PKT_POOL_BUF_SIZE;
+ params.buf_align = 0;
+ params.num_bufs = SHM_PKT_POOL_SIZE/SHM_PKT_POOL_BUF_SIZE;
+ params.buf_type = ODP_BUFFER_TYPE_PACKET;
- if (pool_base == NULL) {
- EXAMPLE_ERR("Error: packet pool mem alloc failed.\n");
- exit(EXIT_FAILURE);
- }
+ pool = odp_buffer_pool_create("packet_pool", ODP_SHM_NULL, &params);
- pool = odp_buffer_pool_create("packet_pool", pool_base,
- SHM_PKT_POOL_SIZE,
- SHM_PKT_POOL_BUF_SIZE,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_PACKET);
if (pool == ODP_BUFFER_POOL_INVALID) {
EXAMPLE_ERR("Error: packet pool create failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c
index 538f8dc3c..4b5a21c3c 100644
--- a/example/ipsec/odp_ipsec.c
+++ b/example/ipsec/odp_ipsec.c
@@ -367,8 +367,7 @@ static
void ipsec_init_pre(void)
{
odp_queue_param_t qparam;
- void *pool_base;
- odp_shm_t shm;
+ odp_buffer_pool_param_t params;
/*
* Create queues
@@ -401,16 +400,12 @@ void ipsec_init_pre(void)
}
/* Create output buffer pool */
- shm = odp_shm_reserve("shm_out_pool",
- SHM_OUT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
-
- pool_base = odp_shm_addr(shm);
+ params.buf_size = SHM_OUT_POOL_BUF_SIZE;
+ params.buf_align = 0;
+ params.num_bufs = SHM_PKT_POOL_BUF_COUNT;
+ params.buf_type = ODP_BUFFER_TYPE_PACKET;
- out_pool = odp_buffer_pool_create("out_pool", pool_base,
- SHM_OUT_POOL_SIZE,
- SHM_OUT_POOL_BUF_SIZE,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_PACKET);
+ out_pool = odp_buffer_pool_create("out_pool", ODP_SHM_NULL, &params);
if (ODP_BUFFER_POOL_INVALID == out_pool) {
EXAMPLE_ERR("Error: message pool create failed.\n");
@@ -1176,12 +1171,12 @@ main(int argc, char *argv[])
{
odph_linux_pthread_t thread_tbl[MAX_WORKERS];
int num_workers;
- void *pool_base;
int i;
int first_core;
int core_count;
int stream_count;
odp_shm_t shm;
+ odp_buffer_pool_param_t params;
/* Init ODP before calling anything else */
if (odp_init_global(NULL, NULL)) {
@@ -1241,42 +1236,28 @@ main(int argc, char *argv[])
printf("First core: %i\n\n", first_core);
/* Create packet buffer pool */
- shm = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
+ params.buf_size = SHM_PKT_POOL_BUF_SIZE;
+ params.buf_align = 0;
+ params.num_bufs = SHM_PKT_POOL_BUF_COUNT;
+ params.buf_type = ODP_BUFFER_TYPE_PACKET;
- pool_base = odp_shm_addr(shm);
-
- if (NULL == pool_base) {
- EXAMPLE_ERR("Error: packet pool mem alloc failed.\n");
- exit(EXIT_FAILURE);
- }
+ pkt_pool = odp_buffer_pool_create("packet_pool", ODP_SHM_NULL,
+ &params);
- pkt_pool = odp_buffer_pool_create("packet_pool", pool_base,
- SHM_PKT_POOL_SIZE,
- SHM_PKT_POOL_BUF_SIZE,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_PACKET);
if (ODP_BUFFER_POOL_INVALID == pkt_pool) {
EXAMPLE_ERR("Error: packet pool create failed.\n");
exit(EXIT_FAILURE);
}
/* Create context buffer pool */
- shm = odp_shm_reserve("shm_ctx_pool",
- SHM_CTX_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
-
- pool_base = odp_shm_addr(shm);
+ params.buf_size = SHM_CTX_POOL_BUF_SIZE;
+ params.buf_align = 0;
+ params.num_bufs = SHM_CTX_POOL_BUF_COUNT;
+ params.buf_type = ODP_BUFFER_TYPE_RAW;
- if (NULL == pool_base) {
- EXAMPLE_ERR("Error: context pool mem alloc failed.\n");
- exit(EXIT_FAILURE);
- }
+ ctx_pool = odp_buffer_pool_create("ctx_pool", ODP_SHM_NULL,
+ &params);
- ctx_pool = odp_buffer_pool_create("ctx_pool", pool_base,
- SHM_CTX_POOL_SIZE,
- SHM_CTX_POOL_BUF_SIZE,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_RAW);
if (ODP_BUFFER_POOL_INVALID == ctx_pool) {
EXAMPLE_ERR("Error: context pool create failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/l2fwd/odp_l2fwd.c b/example/l2fwd/odp_l2fwd.c
index ebac8c53d..3c1fd6a7e 100644
--- a/example/l2fwd/odp_l2fwd.c
+++ b/example/l2fwd/odp_l2fwd.c
@@ -314,12 +314,12 @@ int main(int argc, char *argv[])
{
odph_linux_pthread_t thread_tbl[MAX_WORKERS];
odp_buffer_pool_t pool;
- void *pool_base;
int i;
int first_core;
int core_count;
odp_pktio_t pktio;
odp_shm_t shm;
+ odp_buffer_pool_param_t params;
/* Init ODP before calling anything else */
if (odp_init_global(NULL, NULL)) {
@@ -383,20 +383,13 @@ int main(int argc, char *argv[])
printf("First core: %i\n\n", first_core);
/* Create packet pool */
- shm = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
- pool_base = odp_shm_addr(shm);
+ params.buf_size = SHM_PKT_POOL_BUF_SIZE;
+ params.buf_align = 0;
+ params.num_bufs = SHM_PKT_POOL_SIZE/SHM_PKT_POOL_BUF_SIZE;
+ params.buf_type = ODP_BUFFER_TYPE_PACKET;
- if (pool_base == NULL) {
- EXAMPLE_ERR("Error: packet pool mem alloc failed.\n");
- exit(EXIT_FAILURE);
- }
+ pool = odp_buffer_pool_create("packet pool", ODP_SHM_NULL, &params);
- pool = odp_buffer_pool_create("packet_pool", pool_base,
- SHM_PKT_POOL_SIZE,
- SHM_PKT_POOL_BUF_SIZE,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_PACKET);
if (pool == ODP_BUFFER_POOL_INVALID) {
EXAMPLE_ERR("Error: packet pool create failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/odp_example/odp_example.c b/example/odp_example/odp_example.c
index 96a291280..8373f128c 100644
--- a/example/odp_example/odp_example.c
+++ b/example/odp_example/odp_example.c
@@ -954,13 +954,13 @@ int main(int argc, char *argv[])
test_args_t args;
int num_workers;
odp_buffer_pool_t pool;
- void *pool_base;
odp_queue_t queue;
int i, j;
int prios;
int first_core;
odp_shm_t shm;
test_globals_t *globals;
+ odp_buffer_pool_param_t params;
printf("\nODP example starts\n\n");
@@ -1042,19 +1042,13 @@ int main(int argc, char *argv[])
/*
* Create message pool
*/
- shm = odp_shm_reserve("msg_pool",
- MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
- pool_base = odp_shm_addr(shm);
+ params.buf_size = sizeof(test_message_t);
+ params.buf_align = 0;
+ params.num_bufs = MSG_POOL_SIZE/sizeof(test_message_t);
+ params.buf_type = ODP_BUFFER_TYPE_RAW;
- if (pool_base == NULL) {
- EXAMPLE_ERR("Shared memory reserve failed.\n");
- return -1;
- }
-
- pool = odp_buffer_pool_create("msg_pool", pool_base, MSG_POOL_SIZE,
- sizeof(test_message_t),
- ODP_CACHE_LINE_SIZE, ODP_BUFFER_TYPE_RAW);
+ pool = odp_buffer_pool_create("msg_pool", ODP_SHM_NULL, &params);
if (pool == ODP_BUFFER_POOL_INVALID) {
EXAMPLE_ERR("Pool create failed.\n");
diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c
index 607ecbfb2..5ac83984c 100644
--- a/example/packet/odp_pktio.c
+++ b/example/packet/odp_pktio.c
@@ -331,11 +331,10 @@ int main(int argc, char *argv[])
odph_linux_pthread_t thread_tbl[MAX_WORKERS];
odp_buffer_pool_t pool;
int num_workers;
- void *pool_base;
int i;
int first_core;
int core_count;
- odp_shm_t shm;
+ odp_buffer_pool_param_t params;
args = calloc(1, sizeof(args_t));
if (args == NULL) {
@@ -384,20 +383,13 @@ int main(int argc, char *argv[])
printf("First core: %i\n\n", first_core);
/* Create packet pool */
- shm = odp_shm_reserve("shm_packet_pool",
- SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
- pool_base = odp_shm_addr(shm);
+ params.buf_size = SHM_PKT_POOL_BUF_SIZE;
+ params.buf_align = 0;
+ params.num_bufs = SHM_PKT_POOL_SIZE/SHM_PKT_POOL_BUF_SIZE;
+ params.buf_type = ODP_BUFFER_TYPE_PACKET;
- if (pool_base == NULL) {
- EXAMPLE_ERR("Error: packet pool mem alloc failed.\n");
- exit(EXIT_FAILURE);
- }
+ pool = odp_buffer_pool_create("packet_pool", ODP_SHM_NULL, &params);
- pool = odp_buffer_pool_create("packet_pool", pool_base,
- SHM_PKT_POOL_SIZE,
- SHM_PKT_POOL_BUF_SIZE,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_PACKET);
if (pool == ODP_BUFFER_POOL_INVALID) {
EXAMPLE_ERR("Error: packet pool create failed.\n");
exit(EXIT_FAILURE);
diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c
index 9968bfe53..0d6e31ac6 100644
--- a/example/timer/odp_timer_test.c
+++ b/example/timer/odp_timer_test.c
@@ -244,12 +244,12 @@ int main(int argc, char *argv[])
test_args_t args;
int num_workers;
odp_buffer_pool_t pool;
- void *pool_base;
odp_queue_t queue;
int first_core;
uint64_t cycles, ns;
odp_queue_param_t param;
odp_shm_t shm;
+ odp_buffer_pool_param_t params;
printf("\nODP timer example starts\n");
@@ -313,12 +313,13 @@ int main(int argc, char *argv[])
*/
shm = odp_shm_reserve("msg_pool",
MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0);
- pool_base = odp_shm_addr(shm);
- pool = odp_buffer_pool_create("msg_pool", pool_base, MSG_POOL_SIZE,
- 0,
- ODP_CACHE_LINE_SIZE,
- ODP_BUFFER_TYPE_TIMEOUT);
+ params.buf_size = 0;
+ params.buf_align = 0;
+ params.num_bufs = MSG_POOL_SIZE;
+ params.buf_type = ODP_BUFFER_TYPE_TIMEOUT;
+
+ pool = odp_buffer_pool_create("msg_pool", shm, &params);
if (pool == ODP_BUFFER_POOL_INVALID) {
EXAMPLE_ERR("Pool create failed.\n");