From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 600D0A04B5; Fri, 11 Sep 2020 10:35:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AD9CC1C0B9; Fri, 11 Sep 2020 10:35:21 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 8A61C1B75C for ; Fri, 11 Sep 2020 10:35:19 +0200 (CEST) IronPort-SDR: z9ELYbtJxwaJI8rlClNjeLvOpVVrOe/E75US/OjXS/5YuCeTL0FGsqAZuEHROeOy3dtQptNI1i 2tW47x3D2e7w== X-IronPort-AV: E=McAfee;i="6000,8403,9740"; a="176780704" X-IronPort-AV: E=Sophos;i="5.76,414,1592895600"; d="scan'208";a="176780704" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Sep 2020 01:35:18 -0700 IronPort-SDR: fn7Y7Mj5Shi0C4cK36t58TswTxPB8tPL1UhtalYAcHudkJPesQmyqntqkl8aC1FVHl7Y36uM4+ jC6ZGNpjduIw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,414,1592895600"; d="scan'208";a="318217855" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga002.jf.intel.com with ESMTP; 11 Sep 2020 01:35:17 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 11 Sep 2020 01:35:17 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 11 Sep 2020 01:35:16 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 11 Sep 2020 01:35:16 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.54) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 11 Sep 2020 01:35:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B+47AYRDACpRNFL49NkX+vZ2qfHCiFm8qMaiZ8A41x6oVXJv4ArjizSK1bnTyHcVvAYcVd3FBjwTD5gihaKS+sVEgkmZorBT9eEitJehhhncWNX0WkY09F8zeDeXAl2VQmemTzZNoddSd0JSQwKQM4vbpqIxcuSF/1PWAJ11jVH5gRTjqd9L0KyXW9nheGm6HXz3ffWPxN+HwtEWNHui/IZ404tIrKicUtt32ceFMYh8QJRAqQT1G8u6jTGgtgqXWdJoMe++fsgfgEKQxCccNAHAnkpUaNOXqx+HH/Wvu/RoInNPdZPW6bLaigxildrItSLyOWRBQPelL95riIm0mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9ylsot9zSOKdVtiekftAoBPp+87epGkaWMKj7fkHjvg=; b=GPe7/e57iL+Uwep8AiA2QYK6dwKf9oDDrRHdB04VHLA2KqfYTau3UsGIR8goRq5EbXCoUsXCmYIoWaX64aLWNwYRIWZ4dEnBIUTzxQv3uRfLTF6Fa1ovlTAdPjhuLV5CG57SI/bjJYYRyKjK5bg1A9iUQhxS+lG62xYkbfe05zc7pFdTd1VdwkQnOLOvpyfY2ImLOf0Hy6hAp2GG7rpEGqhClAPb5zsVhcUAWFREb6mr6VNmI/ieWMn6dP7cff8INjlUmpp/5/DtHB58BP++6S6+VaRGD53s8xidgm+0HVQcmP6FMigBPETsvil6ZrwnLFKHkek/FMmlxtVIHf6o+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9ylsot9zSOKdVtiekftAoBPp+87epGkaWMKj7fkHjvg=; b=bA3ZfLxRxOmZjzXWBEfQBhPArXNXU15ju7KWm8N5K8WuursTrw5doVa0KEOOnz9G0tKVuoP0l2uVEf6Pfw+inDD0xH9QF1UWnluPEAfjtzXN6Ggn5tW1CzKUyVawJNvQHY3ouOEZalOfdcsTkSXKwTZTZAN0pWih91jUQ3nfJIE= Received: from MWHPR11MB1838.namprd11.prod.outlook.com (2603:10b6:300:10c::11) by MWHPR11MB1837.namprd11.prod.outlook.com (2603:10b6:300:10f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Fri, 11 Sep 2020 08:35:14 +0000 Received: from MWHPR11MB1838.namprd11.prod.outlook.com ([fe80::34c5:6550:a098:209f]) by MWHPR11MB1838.namprd11.prod.outlook.com ([fe80::34c5:6550:a098:209f%12]) with mapi id 15.20.3370.017; Fri, 11 Sep 2020 08:35:14 +0000 From: "Gujjar, Abhinandan S" To: Honnappa Nagarahalli , "dev@dpdk.org" CC: "Doherty, Declan" , "jerinj@marvell.com" , "Akhil.goyal@nxp.com" , "Vangati, Narender" , "Ananyev, Konstantin" , nd Thread-Topic: [v2 2/2] test: add testcase for crypto enqueue callback Thread-Index: AQHWhsTe1Af8thqYBEWrNgxXpShJpqlgfOrggABsfkCAAjV4UA== Date: Fri, 11 Sep 2020 08:35:13 +0000 Message-ID: References: <1599549061-195091-1-git-send-email-abhinandan.gujjar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [103.5.135.70] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3ad570d8-955c-4a75-feb7-08d8562d9a9b x-ms-traffictypediagnostic: MWHPR11MB1837: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1186; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EDp7UynyT5AnpQHhuntSrtsR4hDbrHLIhBP0R6b2BSCzllG053lzssNSNq/tkEJF8a+RHfcvksD+d2hNj2O5318vX0SqTvA9Pnv8EVS5F8kV0WEin9oh4DDL9V85zr38xXehN0+8bSbpNHW71cIJwcjOAAPtDRsa6ptI8srVibzycW16YvkZjXmkzSPzdMBlDhACWbGUdcli8cisAoAF/d7+rfrXz5wZ8WOdY5KtHEF3tei90YUv24qSkIr7FUjrj3DCaOiXwAGnWpdX2QkJwdgqaPBB242GHNrE4KCPtfqyAmqUv/5h9UYD1tN3+hhb x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR11MB1838.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(376002)(39860400002)(396003)(6506007)(4326008)(186003)(71200400001)(26005)(52536014)(7696005)(478600001)(55236004)(86362001)(5660300002)(53546011)(33656002)(55016002)(76116006)(83380400001)(54906003)(110136005)(316002)(2906002)(8676002)(8936002)(66556008)(64756008)(9686003)(66476007)(66946007)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: HHnKeSanADEUe3GghDixjbQ5S8Trzrjmenzh0giyZf2TBeTaVYy7U8MjlYCV1H2MWnEeW4Ynl7PhW0loQ9D4CGPB/Bg4XGSqmg9RLZ5jeS+qt4Ac1ON7x9KekK7/6g35OAhRqT+nB6Kn4XNIcyj3KrVYnyczifPubdWz++RBGvjw72MnSC1zNmUe5x52fV+fSBxdF7sThxbwZMcBWgSTUiOw0rcasFUf/PJq/yPofECMcLAZxT/JRySygmEEWJUMPSxzbxaaULV3tHql+ZV/zs04t6LkkM+UYRhAfwdWjUd5SF3E1QD1WKz7s3MADJ6VNksSs5vYOFSTH9tHR3vS/7eJINnQjR4UoeOf9gbrkhLF9ckF/Y+WUyfqm9VAomZBaiZPgsfgDcRzO0v9uSggXrQfK9kgi2RdHn6kpG6Orlc4eEB8I/OkFh3TquaXL73A6YRnjzTKcMe+MA3onv5Waia98SlK9Kx80FiQgYX3CwMC5SUw/sl3I1OVDENaxClccfcSTv+Va3mqMsLTpPOiEjl8iqMffS+q2wd7l9pw2Zeg/f4HStJg21SJhVtra1cQxdrjGokkuA7GvhANqNJFObBZEsDuIBsksYEZ6r/L0z4jPrvHxYmbafBJkpP1xaCKx5/Qt9OZnCv4f4Oxbw5r9w== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1838.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ad570d8-955c-4a75-feb7-08d8562d9a9b X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Sep 2020 08:35:13.9027 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GmdQRdgMQAVd1GTFWi9yQyguTMDaTFo2zkivd+AzK3w545JNczBUPkbgdeJiNHtVD+hg7dvb+7KTv53ST6GFDzyhKdNDDja3hSoNksZPAQQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1837 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [v2 2/2] test: add testcase for crypto enqueue callback X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Sure Honnappa. Thanks Abhinandan > -----Original Message----- > From: Honnappa Nagarahalli > Sent: Thursday, September 10, 2020 4:21 AM > To: Gujjar, Abhinandan S ; dev@dpdk.org > Cc: Doherty, Declan ; jerinj@marvell.com; > Akhil.goyal@nxp.com; Vangati, Narender ; > Ananyev, Konstantin ; nd > Subject: RE: [v2 2/2] test: add testcase for crypto enqueue callback >=20 > >=20 > Hi Abhinandan, > This test case looks good. I think you could add few negative test > cases as well. For ex: removing the call back without registering the RCU= . >=20 > Thanks, > Honnappa >=20 > > > > > > The purpose of this testcase is to showcase the cryptodev enqueue > > > callback usage with RCU support. > > > > > > Signed-off-by: Abhinandan Gujjar > > > --- > > > app/test/test_cryptodev.c | 123 > > > +++++++++++++++++++++++++++++++++++++++++++++- > > > 1 file changed, 122 insertions(+), 1 deletion(-) > > > > > > diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c > > > index > > > 70bf6fe..735f501 100644 > > > --- a/app/test/test_cryptodev.c > > > +++ b/app/test/test_cryptodev.c > > > @@ -17,6 +17,7 @@ > > > #include > > > #include > > > #include > > > +#include > > > > > > #ifdef RTE_LIBRTE_PMD_CRYPTO_SCHEDULER #include > > > @@ -11889,6 +11890,123 @@ struct > > > test_crypto_vector { > > > return 0; > > > } > > > > > > +#ifdef RTE_CRYPTODEV_CALLBACKS > > > +static uint16_t > > > +test_enq_callback(uint16_t dev_id, uint16_t qp_id, struct > > > +rte_crypto_op > > > **ops, > > > + uint16_t nb_ops, void *user_param) { > > > + RTE_SET_USED(dev_id); > > > + RTE_SET_USED(qp_id); > > > + RTE_SET_USED(ops); > > > + RTE_SET_USED(user_param); > > > + > > > + return nb_ops; > > > +} > > > + > > > +/* > > > + * Thread using enqueue callback with RCU. > > > + */ > > > +static int > > > +test_enq_callback_rcu_thread(void *arg) { > > > + uint16_t thread_id =3D 1; > > > + struct rte_rcu_qsbr *qsbr =3D arg; > > > + > > > + /* Register this thread to report quiescent state */ > > > + rte_rcu_qsbr_thread_register(qsbr, thread_id); > > > + rte_rcu_qsbr_thread_online(qsbr, thread_id); > > > + > > > + > > > + /* DP thread calls rte_cryptodev_enqueue_burst() and > > > + * invokes enqueue callback. > > > + */ > > > + test_null_burst_operation(); > > > + > > > + /* Update quiescent state */ > > > + rte_rcu_qsbr_quiescent(qsbr, thread_id); > > > + > > > + rte_rcu_qsbr_thread_offline(qsbr, thread_id); > > > + rte_rcu_qsbr_thread_unregister(qsbr, thread_id); > > > + > > > + return 0; > > > +} > > > + > > > +static int > > > +test_enq_callback_setup(void) > > > +{ > > > + struct crypto_testsuite_params *ts_params =3D &testsuite_params; > > > + struct rte_cryptodev_info dev_info; > > > + struct rte_cryptodev_qp_conf qp_conf =3D { > > > + .nb_descriptors =3D MAX_NUM_OPS_INFLIGHT > > > + }; > > > + > > > + struct rte_cryptodev_enq_callback *cb; > > > + uint16_t max_threads =3D 2; > > > + uint16_t qp_id =3D 0; > > > + struct rte_rcu_qsbr *qsbr; > > > + size_t size; > > > + > > > + /* Stop the device in case it's started so it can be configured */ > > > + rte_cryptodev_stop(ts_params->valid_devs[0]); > > > + > > > + rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info); > > > + > > > + TEST_ASSERT_SUCCESS(rte_cryptodev_configure(ts_params- > > > >valid_devs[0], > > > + &ts_params->conf), > > > + "Failed to configure cryptodev %u", > > > + ts_params->valid_devs[0]); > > > + > > > + qp_conf.nb_descriptors =3D MAX_NUM_OPS_INFLIGHT; > > > + qp_conf.mp_session =3D ts_params->session_mpool; > > > + qp_conf.mp_session_private =3D ts_params->session_priv_mpool; > > > + > > > + TEST_ASSERT_SUCCESS(rte_cryptodev_queue_pair_setup( > > > + ts_params->valid_devs[0], qp_id, &qp_conf, > > > + rte_cryptodev_socket_id(ts_params- > > > >valid_devs[0])), > > > + "Failed test for " > > > + "rte_cryptodev_queue_pair_setup: num_inflights " > > > + "%u on qp %u on cryptodev %u", > > > + qp_conf.nb_descriptors, qp_id, > > > + ts_params->valid_devs[0]); > > > + > > > + cb =3D rte_cryptodev_add_enq_callback(ts_params->valid_devs[0], > > > + qp_id, test_enq_callback, NULL); > > > + TEST_ASSERT_NOT_NULL(cb, "Failed test to add callback on " > > > + "qp %u on cryptodev %u", > > > + qp_id, ts_params->valid_devs[0]); > > > + > > > + /* Create RCU QSBR variable */ > > > + size =3D rte_rcu_qsbr_get_memsize(max_threads); > > > + qsbr =3D (struct rte_rcu_qsbr *)rte_zmalloc_socket(NULL, size, > > > + RTE_CACHE_LINE_SIZE, SOCKET_ID_ANY); > > > + TEST_ASSERT_NOT_NULL(qsbr, "Failed to allocate memory for > > > qsbr"); > > > + > > > + /* Assign QSBR to cryptodev */ > > > + TEST_ASSERT_SUCCESS(rte_cryptodev_rcu_qsbr_add( > > > + ts_params->valid_devs[0], qsbr), > > > + "Failed to setup RCU QSBR for cryptodev %u", > > > + ts_params->valid_devs[0]); > > > + > > > + TEST_ASSERT_SUCCESS(rte_rcu_qsbr_init(qsbr, max_threads), > > > + "RCU QSBR init failed"); > > > + > > > + /* Launch a thread */ > > > + rte_eal_remote_launch(test_enq_callback_rcu_thread, qsbr, > > > + rte_get_next_lcore(-1, 1, 0)); > > > + > > > + /* Wait until reader exited. */ > > > + rte_eal_mp_wait_lcore(); > > > + > > > + TEST_ASSERT_SUCCESS(rte_cryptodev_remove_enq_callback( > > > + ts_params->valid_devs[0], qp_id, cb), > > > + "Failed test to remove callback on " > > > + "qp %u on cryptodev %u", > > > + qp_id, ts_params->valid_devs[0]); > > > + > > > + return TEST_SUCCESS; > > > +} > > > +#endif > > > + > > > static struct unit_test_suite cryptodev_scheduler_testsuite =3D { > > > .suite_name =3D "Crypto Device Scheduler Unit Test Suite", > > > .setup =3D testsuite_setup, > > > @@ -11943,7 +12061,10 @@ struct test_crypto_vector { > > > test_queue_pair_descriptor_setup), > > > TEST_CASE_ST(ut_setup, ut_teardown, > > > > > > test_device_configure_invalid_queue_pair_ids), > > > - > > > +#ifdef RTE_CRYPTODEV_CALLBACKS > > > + TEST_CASE_ST(ut_setup, ut_teardown, > > > + test_enq_callback_setup), > > > +#endif > > > TEST_CASE_ST(ut_setup, ut_teardown, > > > test_multi_session), > > > TEST_CASE_ST(ut_setup, ut_teardown, > > > -- > > > 1.9.1