[dpdk-dev] [PATCH v2] app: test: measure libipsec performance
Ananyev, Konstantin
konstantin.ananyev at intel.com
Tue Mar 3 16:34:52 CET 2020
Hi Savinay,
> +static int
> +testsuite_setup(void)
> +{
> + struct rte_mbuf *mbuf[NUM_MBUF];
> + int ret, i;
> +
> + mbuf_pool = rte_pktmbuf_pool_create("IPSEC_PERF_MBUFPOOL",
> + NUM_MBUFS, MBUF_CACHE_SIZE, 0, MBUF_SIZE,
> + rte_socket_id());
> + if (mbuf_pool == NULL) {
> + RTE_LOG(ERR, USER1, "Can't create MBUFPOOL\n");
> + return TEST_FAILED;
> + }
> +
> + cop_pool = rte_crypto_op_pool_create(
> + "MBUF_CRYPTO_SYM_OP_POOL",
> + RTE_CRYPTO_OP_TYPE_SYMMETRIC,
> + NUM_MBUFS, MBUF_CACHE_SIZE,
> + DEFAULT_NUM_XFORMS *
> + sizeof(struct rte_crypto_sym_xform) +
> + MAXIMUM_IV_LENGTH,
> + rte_socket_id());
> + if (cop_pool == NULL) {
> + RTE_LOG(ERR, USER1, "Can't create CRYPTO_OP_POOL\n");
> + return TEST_FAILED;
> + }
> +
> + ring_inb_prepare = rte_ring_create("ring0", RING_SIZE,
> + SOCKET_ID_ANY, 0);
> + if (ring_inb_prepare == NULL)
> + return TEST_FAILED;
> +
> + ring_inb_process = rte_ring_create("ring1", RING_SIZE,
> + SOCKET_ID_ANY, 0);
> + if (ring_inb_process == NULL)
> + return TEST_FAILED;
> +
> + ring_outb_prepare = rte_ring_create("ring2", RING_SIZE,
> + SOCKET_ID_ANY, 0);
> + if (ring_outb_prepare == NULL)
> + return TEST_FAILED;
> +
> + ring_outb_process = rte_ring_create("ring3", RING_SIZE,
> + SOCKET_ID_ANY, 0);
> + if (ring_outb_process == NULL)
> + return TEST_FAILED;
> +
> + for (i = 0; i < NUM_MBUF; i++)
> + mbuf[i] = generate_mbuf_data(mbuf_pool);
> +
I think enqueue below could be moved to the loop above,
so don't need to allocate mbuf[NUM_MBUF] at stack.
struct rte_mbuf *mbuf;
...
for (i = 0; i < NUM_MBUF; i++) {
mbuf = generate_mbuf_data(mbuf_pool);
if (mbuf == NULL && rte_ring_sp_enqueue_bulk(ring_inb_prepare,
(void **)mbuf, 1) == 0)
break;
}
If (i != NUM_BUF)
return TEST_FAILED;
> + ret = rte_ring_sp_enqueue_bulk(ring_inb_prepare, (void **)mbuf,
> + NUM_MBUF, NULL);
> + if (ret == 0)
> + return TEST_FAILED;
> +
> + return TEST_SUCCESS;
> +}
> +
More information about the dev
mailing list