diff options
author | Petri Savolainen <petri.savolainen@linaro.org> | 2014-09-23 13:45:31 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2014-09-23 17:01:44 +0400 |
commit | ddfeadfe61c2913ca44dd424a118d5e8c7b9b3d3 (patch) | |
tree | 8ad9ecaa613ea8f57b8c51958967191dd643619c /example | |
parent | 50fd9738f2d2cc121c083a843da7c46d1d34bc8b (diff) |
Shared memory handle
- Changed API to return shm handle instead of pointer
- Added shm info
- Tests updated to use shm handle and new addr function.
Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'example')
-rw-r--r-- | example/generator/odp_generator.c | 13 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec.c | 32 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec_cache.c | 13 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec_fwd_db.c | 13 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec_loop_db.c | 12 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec_sa_db.c | 13 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec_sp_db.c | 13 | ||||
-rw-r--r-- | example/ipsec/odp_ipsec_stream.c | 13 | ||||
-rw-r--r-- | example/l2fwd/odp_l2fwd.c | 13 | ||||
-rw-r--r-- | example/odp_example/odp_example.c | 12 | ||||
-rw-r--r-- | example/packet/odp_pktio.c | 13 | ||||
-rw-r--r-- | example/timer/odp_timer_test.c | 6 |
12 files changed, 115 insertions, 51 deletions
diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c index 10c7b317c..27fc86803 100644 --- a/example/generator/odp_generator.c +++ b/example/generator/odp_generator.c @@ -523,6 +523,7 @@ int main(int argc, char *argv[]) int i; int first_core; int core_count; + odp_shm_t shm; /* Init ODP before calling anything else */ if (odp_init_global()) { @@ -537,8 +538,10 @@ int main(int argc, char *argv[]) odp_atomic_init_u64(&counters.icmp); /* Reserve memory for args from shared mem */ - args = odp_shm_reserve("shm_args", sizeof(args_t), - ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("shm_args", sizeof(args_t), + ODP_CACHE_LINE_SIZE, 0); + args = odp_shm_addr(shm); + if (args == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); @@ -582,8 +585,10 @@ int main(int argc, char *argv[]) odp_init_local(thr_id); /* Create packet pool */ - pool_base = odp_shm_reserve("shm_packet_pool", - SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("shm_packet_pool", + SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + pool_base = odp_shm_addr(shm); + if (pool_base == NULL) { ODP_ERR("Error: packet pool mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c index 5b7abf696..a9bba24de 100644 --- a/example/ipsec/odp_ipsec.c +++ b/example/ipsec/odp_ipsec.c @@ -368,6 +368,7 @@ void ipsec_init_pre(void) { odp_queue_param_t qparam; void *pool_base; + odp_shm_t shm; /* * Create queues @@ -400,9 +401,10 @@ void ipsec_init_pre(void) } /* Create output buffer pool */ - pool_base = odp_shm_reserve("shm_out_pool", - SHM_OUT_POOL_SIZE, ODP_CACHE_LINE_SIZE, - 0); + shm = odp_shm_reserve("shm_out_pool", + SHM_OUT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + + pool_base = odp_shm_addr(shm); out_pool = odp_buffer_pool_create("out_pool", pool_base, SHM_OUT_POOL_SIZE, @@ -1179,6 +1181,7 @@ main(int argc, char *argv[]) int first_core; int core_count; int stream_count; + odp_shm_t shm; /* Init ODP before calling anything else */ if (odp_init_global()) { @@ -1191,8 +1194,11 @@ main(int argc, char *argv[]) odp_init_local(thr_id); /* Reserve memory for args from shared mem */ - args = odp_shm_reserve("shm_args", sizeof(args_t), ODP_CACHE_LINE_SIZE, - 0); + shm = odp_shm_reserve("shm_args", sizeof(args_t), ODP_CACHE_LINE_SIZE, + 0); + + args = odp_shm_addr(shm); + if (NULL == args) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); @@ -1233,9 +1239,11 @@ main(int argc, char *argv[]) printf("First core: %i\n\n", first_core); /* Create packet buffer pool */ - pool_base = odp_shm_reserve("shm_packet_pool", - SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, - 0); + shm = odp_shm_reserve("shm_packet_pool", + SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + + pool_base = odp_shm_addr(shm); + if (NULL == pool_base) { ODP_ERR("Error: packet pool mem alloc failed.\n"); exit(EXIT_FAILURE); @@ -1252,9 +1260,11 @@ main(int argc, char *argv[]) } /* Create context buffer pool */ - pool_base = odp_shm_reserve("shm_ctx_pool", - SHM_CTX_POOL_SIZE, ODP_CACHE_LINE_SIZE, - 0); + shm = odp_shm_reserve("shm_ctx_pool", + SHM_CTX_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + + pool_base = odp_shm_addr(shm); + if (NULL == pool_base) { ODP_ERR("Error: context pool mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec_cache.c b/example/ipsec/odp_ipsec_cache.c index 1b9921891..01650d00c 100644 --- a/example/ipsec/odp_ipsec_cache.c +++ b/example/ipsec/odp_ipsec_cache.c @@ -19,10 +19,15 @@ ipsec_cache_t *ipsec_cache; void init_ipsec_cache(void) { - ipsec_cache = odp_shm_reserve("shm_ipsec_cache", - sizeof(ipsec_cache_t), - ODP_CACHE_LINE_SIZE, - 0); + odp_shm_t shm; + + shm = odp_shm_reserve("shm_ipsec_cache", + sizeof(ipsec_cache_t), + ODP_CACHE_LINE_SIZE, + 0); + + ipsec_cache = odp_shm_addr(shm); + if (ipsec_cache == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec_fwd_db.c b/example/ipsec/odp_ipsec_fwd_db.c index de2e43e44..9ed5d0002 100644 --- a/example/ipsec/odp_ipsec_fwd_db.c +++ b/example/ipsec/odp_ipsec_fwd_db.c @@ -18,10 +18,15 @@ fwd_db_t *fwd_db; void init_fwd_db(void) { - fwd_db = odp_shm_reserve("shm_fwd_db", - sizeof(fwd_db_t), - ODP_CACHE_LINE_SIZE, - 0); + odp_shm_t shm; + + shm = odp_shm_reserve("shm_fwd_db", + sizeof(fwd_db_t), + ODP_CACHE_LINE_SIZE, + 0); + + fwd_db = odp_shm_addr(shm); + if (fwd_db == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec_loop_db.c b/example/ipsec/odp_ipsec_loop_db.c index 222ccb9cf..f7733521b 100644 --- a/example/ipsec/odp_ipsec_loop_db.c +++ b/example/ipsec/odp_ipsec_loop_db.c @@ -18,11 +18,15 @@ loopback_db_t *loopback_db; void init_loopback_db(void) { int idx; + odp_shm_t shm; + + shm = odp_shm_reserve("loopback_db", + sizeof(loopback_db_t), + ODP_CACHE_LINE_SIZE, + 0); + + loopback_db = odp_shm_addr(shm); - loopback_db = odp_shm_reserve("loopback_db", - sizeof(loopback_db_t), - ODP_CACHE_LINE_SIZE, - 0); if (loopback_db == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec_sa_db.c b/example/ipsec/odp_ipsec_sa_db.c index 612da8604..f6da62324 100644 --- a/example/ipsec/odp_ipsec_sa_db.c +++ b/example/ipsec/odp_ipsec_sa_db.c @@ -18,10 +18,15 @@ static sa_db_t *sa_db; void init_sa_db(void) { - sa_db = odp_shm_reserve("shm_sa_db", - sizeof(sa_db_t), - ODP_CACHE_LINE_SIZE, - 0); + odp_shm_t shm; + + shm = odp_shm_reserve("shm_sa_db", + sizeof(sa_db_t), + ODP_CACHE_LINE_SIZE, + 0); + + sa_db = odp_shm_addr(shm); + if (sa_db == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec_sp_db.c b/example/ipsec/odp_ipsec_sp_db.c index 7d9bba15f..f288dfed2 100644 --- a/example/ipsec/odp_ipsec_sp_db.c +++ b/example/ipsec/odp_ipsec_sp_db.c @@ -18,10 +18,15 @@ sp_db_t *sp_db; void init_sp_db(void) { - sp_db = odp_shm_reserve("shm_sp_db", - sizeof(sp_db_t), - ODP_CACHE_LINE_SIZE, - 0); + odp_shm_t shm; + + shm = odp_shm_reserve("shm_sp_db", + sizeof(sp_db_t), + ODP_CACHE_LINE_SIZE, + 0); + + sp_db = odp_shm_addr(shm); + if (sp_db == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/ipsec/odp_ipsec_stream.c b/example/ipsec/odp_ipsec_stream.c index ced055aa6..de8305ac7 100644 --- a/example/ipsec/odp_ipsec_stream.c +++ b/example/ipsec/odp_ipsec_stream.c @@ -48,10 +48,15 @@ stream_db_t *stream_db; void init_stream_db(void) { - stream_db = odp_shm_reserve("stream_db", - sizeof(stream_db_t), - ODP_CACHE_LINE_SIZE, - 0); + odp_shm_t shm; + + shm = odp_shm_reserve("stream_db", + sizeof(stream_db_t), + ODP_CACHE_LINE_SIZE, + 0); + + stream_db = odp_shm_addr(shm); + if (stream_db == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/l2fwd/odp_l2fwd.c b/example/l2fwd/odp_l2fwd.c index e19aa94b3..6c1d64af6 100644 --- a/example/l2fwd/odp_l2fwd.c +++ b/example/l2fwd/odp_l2fwd.c @@ -321,6 +321,7 @@ int main(int argc, char *argv[]) int first_core; int core_count; odp_pktio_t pktio; + odp_shm_t shm; /* Init ODP before calling anything else */ if (odp_init_global()) { @@ -329,8 +330,10 @@ int main(int argc, char *argv[]) } /* Reserve memory for args from shared mem */ - gbl_args = odp_shm_reserve("shm_args", sizeof(args_t), - ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("shm_args", sizeof(args_t), + ODP_CACHE_LINE_SIZE, 0); + gbl_args = odp_shm_addr(shm); + if (gbl_args == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); @@ -380,8 +383,10 @@ int main(int argc, char *argv[]) odp_init_local(thr_id); /* Create packet pool */ - pool_base = odp_shm_reserve("shm_packet_pool", - SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("shm_packet_pool", + SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + pool_base = odp_shm_addr(shm); + if (pool_base == NULL) { ODP_ERR("Error: packet pool mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/odp_example/odp_example.c b/example/odp_example/odp_example.c index e99df854f..c80dbbc0c 100644 --- a/example/odp_example/odp_example.c +++ b/example/odp_example/odp_example.c @@ -943,6 +943,7 @@ int main(int argc, char *argv[]) int i, j; int prios; int first_core; + odp_shm_t shm; printf("\nODP example starts\n"); @@ -1003,8 +1004,15 @@ int main(int argc, char *argv[]) /* * Create message pool */ - pool_base = odp_shm_reserve("msg_pool", - MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("msg_pool", + MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + + pool_base = odp_shm_addr(shm); + + if (pool_base == NULL) { + ODP_ERR("Shared memory reserve failed.\n"); + return -1; + } pool = odp_buffer_pool_create("msg_pool", pool_base, MSG_POOL_SIZE, sizeof(test_message_t), diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c index 7f2d43f08..41315f729 100644 --- a/example/packet/odp_pktio.c +++ b/example/packet/odp_pktio.c @@ -309,6 +309,7 @@ int main(int argc, char *argv[]) int i; int first_core; int core_count; + odp_shm_t shm; /* Init ODP before calling anything else */ if (odp_init_global()) { @@ -317,8 +318,10 @@ int main(int argc, char *argv[]) } /* Reserve memory for args from shared mem */ - args = odp_shm_reserve("shm_args", sizeof(args_t), - ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("shm_args", sizeof(args_t), + ODP_CACHE_LINE_SIZE, 0); + args = odp_shm_addr(shm); + if (args == NULL) { ODP_ERR("Error: shared mem alloc failed.\n"); exit(EXIT_FAILURE); @@ -358,8 +361,10 @@ int main(int argc, char *argv[]) odp_init_local(thr_id); /* Create packet pool */ - pool_base = odp_shm_reserve("shm_packet_pool", - SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + shm = odp_shm_reserve("shm_packet_pool", + SHM_PKT_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + pool_base = odp_shm_addr(shm); + if (pool_base == NULL) { ODP_ERR("Error: packet pool mem alloc failed.\n"); exit(EXIT_FAILURE); diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c index fd46f1606..6e1715d6c 100644 --- a/example/timer/odp_timer_test.c +++ b/example/timer/odp_timer_test.c @@ -248,6 +248,7 @@ int main(int argc, char *argv[]) int first_core; uint64_t cycles, ns; odp_queue_param_t param; + odp_shm_t shm; printf("\nODP timer example starts\n"); @@ -310,8 +311,9 @@ int main(int argc, char *argv[]) /* * Create message pool */ - pool_base = odp_shm_reserve("msg_pool", - MSG_POOL_SIZE, ODP_CACHE_LINE_SIZE, 0); + 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, |