From: Rebecca Troy Date: Thu, 2 Sep 2021 11:54:16 +0000 (+0000) Subject: test/crypto: refactor scheduler workers init X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=9772dcf7c135d2fc825973ba858e150afceb3dee;p=dpdk.git test/crypto: refactor scheduler workers init Previously, the scheduler unit test only created and attached 1 or 2 AESNI-MB cryptodev PMDs as workers if less than 2 AESNI-MB PMDs had already been initialized. This commit changes this to always create and attach 2 new AESNI-MB cryptodev PMDs, regardless of previously initialized AESNI-MB PMDs. Signed-off-by: Rebecca Troy Acked-by: Fan Zhang --- diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 9ad0b37473..843d07ba37 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -13475,31 +13475,32 @@ test_scheduler_attach_worker_op(void) { struct crypto_testsuite_params *ts_params = &testsuite_params; uint8_t sched_id = ts_params->valid_devs[0]; - uint32_t nb_devs, i, nb_devs_attached = 0; + uint32_t i, nb_devs_attached = 0; int ret; char vdev_name[32]; + unsigned int count = rte_cryptodev_count(); - /* create 2 AESNI_MB if necessary */ - nb_devs = rte_cryptodev_device_count_by_driver( - rte_cryptodev_driver_id_get( - RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD))); - if (nb_devs < 2) { - for (i = nb_devs; i < 2; i++) { - snprintf(vdev_name, sizeof(vdev_name), "%s_%u", - RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD), - i); - ret = rte_vdev_init(vdev_name, NULL); + /* create 2 AESNI_MB vdevs on top of existing devices */ + for (i = count; i < count + 2; i++) { + snprintf(vdev_name, sizeof(vdev_name), "%s_%u", + RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD), + i); + ret = rte_vdev_init(vdev_name, NULL); - TEST_ASSERT(ret == 0, - "Failed to create instance %u of" - " pmd : %s", - i, RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD)); + TEST_ASSERT(ret == 0, + "Failed to create instance %u of" + " pmd : %s", + i, RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD)); + + if (ret < 0) { + RTE_LOG(ERR, USER1, + "Failed to create 2 AESNI MB PMDs.\n"); + return TEST_SKIPPED; } } /* attach 2 AESNI_MB cdevs */ - for (i = 0; i < rte_cryptodev_count() && nb_devs_attached < 2; - i++) { + for (i = count; i < count + 2; i++) { struct rte_cryptodev_info info; unsigned int session_size;