On Wed, Nov 19, 2014 at 3:21 AM, Bill Fischofer
<[email protected]> wrote:
> Signed-off-by: Bill Fischofer <[email protected]>
> ---
> example/generator/odp_generator.c | 19 +++++--------
> example/ipsec/odp_ipsec.c | 56
> ++++++++++++---------------------------
> example/l2fwd/odp_l2fwd.c | 19 +++++--------
> example/odp_example/odp_example.c | 18 +++++--------
> example/packet/odp_pktio.c | 19 +++++--------
> example/timer/odp_timer_test.c | 13 ++++-----
> test/api_test/odp_timer_ping.c | 19 +++++++------
> 7 files changed, 57 insertions(+), 106 deletions(-)
>
> diff --git a/example/generator/odp_generator.c
> b/example/generator/odp_generator.c
> index ffa5e62..480ddd5 100644
> --- a/example/generator/odp_generator.c
> +++ b/example/generator/odp_generator.c
> @@ -512,11 +512,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)) {
> @@ -579,20 +579,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;
I think we should do the right thing and drop the SHM_PKT_POOL_SIZE
nonsense. It's confusing to see SHM_PKT_POOL_SIZE = (512 * 20148) and
SHM_PKT_POOL_BUF_SIZE = 1856 and then do the math above. Just drop
SHM_PKT_POOL_SIZE and replace it with a SHM_PKT_POOL_BUF_COUNT, 512 in
this case. Also for all the other apps.
> + params.buf_type = ODP_BUFFER_TYPE_PACKET;
>
> - if (pool_base == NULL) {
> - ODP_ERR("Error: packet pool mem alloc failed.\n");
> - exit(EXIT_FAILURE);
> - }
> + pool = odp_buffer_pool_create("packet_pool", ODP_SHM_NULL, ¶ms);
>
> - 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) {
> ODP_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 37ad34d..0d015bb 100644
> --- a/example/ipsec/odp_ipsec.c
> +++ b/example/ipsec/odp_ipsec.c
> @@ -365,8 +365,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
> @@ -399,16 +398,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, ¶ms);
>
> if (ODP_BUFFER_POOL_INVALID == out_pool) {
> ODP_ERR("Error: message pool create failed.\n");
> @@ -1168,12 +1163,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)) {
> @@ -1233,42 +1228,25 @@ 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);
> -
> - pool_base = odp_shm_addr(shm);
> + 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;
>
> - if (NULL == pool_base) {
> - ODP_ERR("Error: packet pool mem alloc failed.\n");
> - exit(EXIT_FAILURE);
> - }
> + pkt_pool = odp_buffer_pool_create("packet_pool", ODP_SHM_NULL,
> + ¶ms);
>
> - 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) {
> ODP_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);
> -
> - if (NULL == pool_base) {
> - ODP_ERR("Error: context pool mem alloc failed.\n");
> - exit(EXIT_FAILURE);
> - }
> + 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;
>
> - 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) {
> ODP_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 57037cd..026627d 100644
> --- a/example/l2fwd/odp_l2fwd.c
> +++ b/example/l2fwd/odp_l2fwd.c
> @@ -311,12 +311,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)) {
> @@ -380,20 +380,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) {
> - ODP_ERR("Error: packet pool mem alloc failed.\n");
> - exit(EXIT_FAILURE);
> - }
> + pool = odp_buffer_pool_create("packet pool", ODP_SHM_NULL, ¶ms);
>
> - 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) {
> ODP_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 d0ec977..515fe33 100644
> --- a/example/odp_example/odp_example.c
> +++ b/example/odp_example/odp_example.c
> @@ -949,13 +949,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");
>
> @@ -1037,19 +1037,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) {
> - 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),
> - ODP_CACHE_LINE_SIZE,
> ODP_BUFFER_TYPE_RAW);
> + pool = odp_buffer_pool_create("msg_pool", ODP_SHM_NULL, ¶ms);
>
> if (pool == ODP_BUFFER_POOL_INVALID) {
> ODP_ERR("Pool create failed.\n");
> diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c
> index 2cf3f0d..00e5374 100644
> --- a/example/packet/odp_pktio.c
> +++ b/example/packet/odp_pktio.c
> @@ -292,11 +292,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)) {
> @@ -350,20 +350,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) {
> - ODP_ERR("Error: packet pool mem alloc failed.\n");
> - exit(EXIT_FAILURE);
> - }
> + pool = odp_buffer_pool_create("packet_pool", ODP_SHM_NULL, ¶ms);
>
> - 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) {
> ODP_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 78b2ae2..12e9c8d 100644
> --- a/example/timer/odp_timer_test.c
> +++ b/example/timer/odp_timer_test.c
> @@ -242,12 +242,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");
>
> @@ -311,12 +311,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, ¶ms);
>
> if (pool == ODP_BUFFER_POOL_INVALID) {
> ODP_ERR("Pool create failed.\n");
> diff --git a/test/api_test/odp_timer_ping.c b/test/api_test/odp_timer_ping.c
> index 7704181..1566f4f 100644
> --- a/test/api_test/odp_timer_ping.c
> +++ b/test/api_test/odp_timer_ping.c
> @@ -319,9 +319,8 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED)
> ping_arg_t pingarg;
> odp_queue_t queue;
> odp_buffer_pool_t pool;
> - void *pool_base;
> int i;
> - odp_shm_t shm;
> + odp_buffer_pool_param_t params;
>
> if (odp_test_global_init() != 0)
> return -1;
> @@ -334,14 +333,14 @@ int main(int argc ODP_UNUSED, char *argv[] ODP_UNUSED)
> /*
> * Create message pool
> */
> - 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,
> - BUF_SIZE,
> - ODP_CACHE_LINE_SIZE,
> - ODP_BUFFER_TYPE_RAW);
> +
> + params.buf_size = BUF_SIZE;
> + params.buf_align = 0;
> + params.num_bufs = MSG_POOL_SIZE/BUF_SIZE;
> + params.buf_type = ODP_BUFFER_TYPE_RAW;
> +
> + pool = odp_buffer_pool_create("msg_pool", ODP_SHM_NULL, ¶ms);
> +
> if (pool == ODP_BUFFER_POOL_INVALID) {
> LOG_ERR("Pool create failed.\n");
> return -1;
> --
> 1.8.3.2
>
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp