X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=inline;f=app%2Ftest-crypto-perf%2Fcperf_test_common.c;h=89f13fdebd8f3efd74a41a27c4c59ac48f9d33af;hb=80da61198b6be66ab16964eb0944c79c0325c40e;hp=85603eed5bf16d74b3c2e767a62de7345ddd0e61;hpb=8fd2b5a60d1cd0c7bc608452d6fd8c13f8761f1d;p=dpdk.git diff --git a/app/test-crypto-perf/cperf_test_common.c b/app/test-crypto-perf/cperf_test_common.c index 85603eed5b..89f13fdebd 100644 --- a/app/test-crypto-perf/cperf_test_common.c +++ b/app/test-crypto-perf/cperf_test_common.c @@ -86,7 +86,7 @@ static void mempool_obj_init(struct rte_mempool *mp, void *opaque_arg, void *obj, - __attribute__((unused)) unsigned int i) + __rte_unused unsigned int i) { struct obj_params *params = opaque_arg; struct rte_crypto_op *op = obj; @@ -140,6 +140,22 @@ cperf_alloc_common_memory(const struct cperf_options *options, uint16_t crypto_op_size = sizeof(struct rte_crypto_op) + sizeof(struct rte_crypto_sym_op); uint16_t crypto_op_private_size; + + if (options->op_type == CPERF_ASYM_MODEX) { + snprintf(pool_name, RTE_MEMPOOL_NAMESIZE, "perf_asym_op_pool%u", + rte_socket_id()); + *pool = rte_crypto_op_pool_create( + pool_name, RTE_CRYPTO_OP_TYPE_ASYMMETRIC, + options->pool_sz, 0, 0, rte_socket_id()); + if (*pool == NULL) { + RTE_LOG(ERR, USER1, + "Cannot allocate mempool for device %u\n", + dev_id); + return -1; + } + return 0; + } + /* * If doing AES-CCM, IV field needs to be 16 bytes long, * and AAD field needs to be long enough to have 18 bytes, @@ -194,7 +210,7 @@ cperf_alloc_common_memory(const struct cperf_options *options, (mbuf_size * segments_nb); params.dst_buf_offset = *dst_buf_offset; /* Destination buffer will be one segment only */ - obj_size += max_size; + obj_size += max_size + sizeof(struct rte_mbuf); } *pool = rte_mempool_create_empty(pool_name,