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 64F77A0543; Wed, 15 Jul 2020 20:22:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 485392C58; Wed, 15 Jul 2020 20:22:27 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150041.outbound.protection.outlook.com [40.107.15.41]) by dpdk.org (Postfix) with ESMTP id C885D2C30 for ; Wed, 15 Jul 2020 20:22:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QAuAWdfS4kqy16d7aUEol9SQA2Bn7safC7hrXdFJ40ByzhuB2/gZhpRrrP4VGG2ffEFRZ2idmoTeBr9tJJRHRwG02YXbHpWlZYrJN1FM596fZeUfhQPW+0dFg+gRhLOpz9/xUahSS+liHMRfVb5OsUkMGPnZnmZjnTI4m5/gWY2RwtmIApzv81zq5hncqoIQrCxI4f7ohbJkGMK5Ac2/ze69YlKETNebUrzGlCdhhGiOBSHASau31CEhVw4UOgwBkeoCs+ZGmX5lBz2M/K291l3P69eJTeHW+q8MuC+jQwTS5tnQTAE+u00gmu4tX6nuYxx1gn31Y+P5vHPzbFJOQQ== 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=aBPJINwNgIn8OZ4vPkDRKy7k+XiloS1wr6LKK+9N0Rk=; b=iEWTQT9SS1pfUMlhK1EYjjIZXJUxdyVdrcssrQTbp0vxgJLIUlRQskiudy9+Q8wVxNzHD4dxDB001Df4CosNj6AHMOqJcouSgOgLRVvP4KrgSaUc48YwwDLmGHyQ62ENFbCI+YA5X0guG4NEfL1FQvH35R26oaeY6zvjFNK3LhgReGqoxAeLBKm1nUZZR8Qibr297DoXzQiG26N5WuaQOWVxc6S7FeVtkDXA5zO21SE3M0YS8VSiKALupQnDrZnnaHeKAKKFwGdE+Xp/S3UW4CO9pQtrG2AjraF2mtuFfOV9laXEEFMsaUB8PqkmrxjGA97A4J3P/qrre7bLTdyIpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aBPJINwNgIn8OZ4vPkDRKy7k+XiloS1wr6LKK+9N0Rk=; b=huydnBCJ+S9IaBDwoPIFbpOfGzsW/HglMkpCgNUxVHKhQ2dF85l++yY1KRY1sKlcCyQ+G+k9VMsbSkm53l4UlUGkQqaGxJW9hr2vffSiUaAZXMzsDn0KLiW1d/MY+Phgqfyes0f89A3cJ0gea7VqorNs531J7ooaCodkMm95dTg= Received: from AM5PR04MB3153.eurprd04.prod.outlook.com (2603:10a6:206:e::26) by AM6PR04MB5863.eurprd04.prod.outlook.com (2603:10a6:20b:a5::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.17; Wed, 15 Jul 2020 18:22:24 +0000 Received: from AM5PR04MB3153.eurprd04.prod.outlook.com ([fe80::9c5a:3faf:66e4:d8d3]) by AM5PR04MB3153.eurprd04.prod.outlook.com ([fe80::9c5a:3faf:66e4:d8d3%6]) with mapi id 15.20.3174.026; Wed, 15 Jul 2020 18:22:24 +0000 From: Akhil Goyal To: Arek Kusztal , "dev@dpdk.org" CC: "fiona.trahe@intel.com" , "thomas@monjalon.net" Thread-Topic: [PATCH v3 5/5] doc: add documentation for multi process crypto app Thread-Index: AQHWWr/AMl+70E31JkO7RaxwKhRf76kI4uMw Date: Wed, 15 Jul 2020 18:22:23 +0000 Message-ID: References: <20200715155043.12476-1-arkadiuszx.kusztal@intel.com> <20200715155043.12476-6-arkadiuszx.kusztal@intel.com> In-Reply-To: <20200715155043.12476-6-arkadiuszx.kusztal@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nxp.com; x-originating-ip: [45.118.167.99] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 8eff5716-a37b-4408-d817-08d828ec058b x-ms-traffictypediagnostic: AM6PR04MB5863: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2331; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: s7wU32xK+xx6z7SAGTvKaNGGAA2uR2wKe/sxz3+zn2Ja6gmpYm07YMWLOaAekMUvO4xR3jLxa+5u6Y1bkfSvqXrx+IFKzmtvhjkir5N6tm3LPzI3b65i9HfHl5kUkY0ndGkSVGvvP737v/mOTWN2P5gFFeJPKtUvLdIouGuU7YHg3fyBSCRgJbIa5gUfcn2pHWoao7gT6swoizUntNvLHXDrBtYGmUHAX9p1SRY9r9nbN95XFpkOp1rPX2Go5yy3ShQw0KiHCzDT7YJcjSO55tYiSp7xOwDqce0i5Uoirrei3x7iisf3ZYqwNVpfN5w3MeaUudKPwmGjHfA4R+zHJA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM5PR04MB3153.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(346002)(376002)(396003)(136003)(366004)(9686003)(55016002)(6506007)(2906002)(7696005)(52536014)(44832011)(4326008)(478600001)(64756008)(66446008)(76116006)(66476007)(66946007)(86362001)(83380400001)(26005)(110136005)(71200400001)(8676002)(186003)(33656002)(5660300002)(316002)(8936002)(66556008)(54906003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: RH2O4T0w/dXxww19FYQnlYAQ5YjKaKPOpTVFcqI5Wej49G0yAu+IRHbmKl/T7ul785KIi0vbQ9LF3M0usTjlDXgoiscF+kRFJykSL92su5e5txYLklocYW2TYs39HRyCDcI5ieNf2H9Q8tmm5XqudOe5zgpCXna9KZBtzXRoyHXGcOEMe54fp0Z5gxnoVp2XtWVNbubgQNlhQEtdctbRuRKMVAaz3Cxgwgni9QWUcQGZTo0MbbCpTEDTIZjH8ZhIWY+iyhkGxhQKg6C4dykXoT/WUagg3+qOKWSAsNlGq+UdnM6wA1VWK3mvSXtyq0weNK9rntY66zns5QedNTOB5sXBWo4QvvGlAb9DER6vPZrUL2tVXWi8p7N3CuuTawU+ljQ0KQC+WgaB5NQSMzX4CBPBBDINH+YhN6mIWtir7ED/HwCt3OfyynUaI6w5jn27Mwjf2NY+Dtueq+qEThpl8bs8WCNYwEwOi3PCy04t8hs= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM5PR04MB3153.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8eff5716-a37b-4408-d817-08d828ec058b X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2020 18:22:24.0890 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RNwLjFeVghdL/kypQ8U0hiJ7eImmz+GRJdFf1lRGVvJt0+lxmSTLsuY5wgQHLs1CiQlmw9+qZLauBgm7APfBZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5863 Subject: Re: [dpdk-dev] [PATCH v3 5/5] doc: add documentation for multi process crypto app 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" Hi Arek, > Subject: [PATCH v3 5/5] doc: add documentation for multi process crypto a= pp Please do not make separate patches for documentation. Your first patch description says more info can be found in mp_crypto.rst. But it is not there in that patch. You should add the relevant documentation in the first patch so that people= can review and understand the patchset before actually reviewing the patch. You should split the documentation patch and add in the patches where they = are=20 relevant. MAINTAINERS file update is also missing for this app. >=20 > This commit adds documentation for multi process crypto test > application. >=20 > Signed-off-by: Arek Kusztal > --- > doc/guides/tools/index.rst | 1 + > doc/guides/tools/mp_crypto.rst | 151 > +++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 152 insertions(+) > create mode 100644 doc/guides/tools/mp_crypto.rst >=20 > diff --git a/doc/guides/tools/index.rst b/doc/guides/tools/index.rst > index 4840cf4..a360307 100644 > --- a/doc/guides/tools/index.rst > +++ b/doc/guides/tools/index.rst > @@ -17,3 +17,4 @@ DPDK Tools User Guides > cryptoperf > comp_perf > testeventdev > + mp-crypto > diff --git a/doc/guides/tools/mp_crypto.rst b/doc/guides/tools/mp_crypto.= rst > new file mode 100644 > index 0000000..201834f > --- /dev/null > +++ b/doc/guides/tools/mp_crypto.rst > @@ -0,0 +1,151 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2020 Intel Corporation. > + > +dpdk-test-mp-crypto Application > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > + > +The Multi-process Crypto application is a simple application that > +allows to run crypto related operations in a multiple process environmen= t. It > +builds on the EAL primary/secondary process infrastructure. > + > +The application allows a user to configure devices, setup queue-pairs, c= reate > +and init sessions and specify data-path flow (enqueue/dequeue) in differ= ent > +processes. The app can help to check if the PMD behaves correctly > +in scenarios like the following: > + > +* device is configured in primary process, queue-pairs are setup in seco= ndary > process > + > +* queue pair is shared across processes, i.e. enqueue in one process and > dequeue in another > + > + > +Compiling the Application > +------------------------- > + > +To compile the sample application see :doc:`compiling`. > + > +The application is located in the ``app/test-mp_crypto`` directory. > + > +Running the Application > +----------------------- > + > +App binary: dpdk-test-mp-crypto (in build/app) > + > +For running PRIMARY or SECONDARY process standard EAL options apply: > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto --proc-type primary > + > + ./dpdk-test-mp-crypto --proc-type secondary > + > +.. Note:: > + > + The same set of BDFs must be passed to all processes. BDFs ?? Statement should be generic. Not all devices are PCI based. > + > +.. Note:: > + The same crypto devices must be created in all processes, e.g. in qat > + case if asym and sym devices are enabled in the primary process, they > + must be enabled in all secondary processes. In all secondary processes as well. > + > +General help can by checked by running: > + > +. code-block:: console > + > + ./dpdk-test-mp-crypto -- -h > + > +The application has a number of command line options: > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -- --devtype [dev-name] > + > +This option specifies which driver to use by its name (for example "cryp= to_qat"). > +The same name must be passed to all processes. > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -- --config_dev [devA, devB,] > + > +This option specifies the list of devices that should be configured by t= his > process, > +this results in a call to the ``rte_cryptodev_configure`` API. devX is a= positive > +integer (including zero), the value is according to probe order (from th= e > smallest > +BDF number), not necessarily the cmdline order. Isn't it better to have a cryptodev_mask instead of config_dev? Same as we = do in Ipsec-secgw and l2fwd-crypto. Mask will specify the devices which will be configured in the current proce= ss. > + > +Example command: > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -w 03:01.2 -w 03:01.1 -w 03:01.3 --config-dev = 0,2 > + > ++will configure devices 03:01.1 and 03:01.3. > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -- --qp-config=3D[devA]:[qp_A, qp_B,];[devB]:[= qp_A, > qp_C]; > + > +devX - positive integer (including zero), as in config_dev command > + > ++qp_X - positive integer (including zero), specifies which queue pair sh= ould be > setup > + > +This command specifies which queue pairs should be setup, resulting in a= call to > +``rte_cryptodev_queue_pair_setup`` API. > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -w 03:01.2 -w 03:01.1 -w 03:01.3 --qp- > config=3D"0:0,1;1:1;2:0,1;" > + > +This command will configure queue pairs 0 and 1 on device 0 (03:01.1), q= ueue > pair 1 > +on device 1 (03:01.2), queue pairs 0 and 1 on device 2 (03:01.3). The de= vice in > question > +should be configured before that, though not necessarily by the same pro= cess. > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -- --enq=3D[devX]:[qpX]:[ops]:[vector_id] > + ./dpdk-test-mp-crypto -- --deq=3D[devX]:[qpX]:[ops]:[vector_id] > + > +devX - positive integer (including zero), as in config_dev command > + > +qp_X - positive integer (including zero), as in qp-config command qpX > + > +ops - when positive integer - number of operations to enqueue/dequeue, w= hen > 0 infinite loop This should be an optional parameter and should not be part of enq/deq conf= igs And default value should be 0 > + > +vector_id - positive integer (including zero), vector_id used by this pr= ocess What is vector id? I do not see it changing in any of your examples. Do we = really need it? It looks that the dev id, qp_id are redundant in all three. We can probably= squeeze it in a single config --enq=3D(devA:qpX,qpY),(devB:qpX) --deq=3D(devC:qpX,qpY),(devB:qpY,qpZ) And remove config-dev and qp-config Cumulative sum of all the devices(dev - A,B,C)/queues(A->X,Y; B->X,Y,Z;C->X= ,Y) in enq and deq can be configured in that process. This will be simple to configure from user perspective and will reduce the = risk of setting mismatch configuration. And if the enq and deq are same, we should be able to skip either of the co= nfigs and assume that it is same as the other one. What say? > + > +This commands will enqueue/dequeue "ops" number of packets to qp_X on > devX. > +Example usage: > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto -- --enq=3D2:0:0:0, --deq=3D2:0:0:0, > + > +Note. ',' comma character is necessary at the end due to some parser > shortcomings. > + > +To close the application when running in an infinite loop a signal handl= er is > +registered to catch interrupt signals i.e. ``ctrl-c`` should be used. Wh= en > +used in primary process other processes will be notified about exiting > +intention and will close after collecting remaining packets (if dequeuin= g). > + > +Example commands > +---------------- > + > +Use two different devices on 3 separate queues: > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto --proc-type primary -c 1 -w 03:01.1 -w 03:01.2= -- -- > devtype "crypto_qat" --config-dev 0,1 --qp-config=3D"0:0,1;1:0,1;" --se= ssion- > mask=3D0x3 --enq=3D0:0:0:0, --deq=3D0:0:0:0, --print-stats You did not explain session-mask above.=20 > + ./dpdk-test-mp-crypto --proc-type secondary -c 2 -w 03:01.1 -w 03:01= .2 -- -- > devtype "crypto_qat" --enq=3D0:1:0:0, --deq=3D0:1:0:0, --print-stats > + ./dpdk-test-mp-crypto --proc-type secondary -c 4 -w 03:01.1 -w 03:01= .2 -- -- > devtype "crypto_qat" --enq=3D1:0:0:0, --deq=3D1:0:0:0, --print-stats > + > +Use different processes to enqueue and dequeue to one queue pair: > + > +.. code-block:: console > + > + ./dpdk-test-mp-crypto --proc-type primary -c 1 -w 03:01.1 -- --devty= pe > "crypto_qat" --config-dev 0 --session-mask=3D0x3 --qp-config=3D"0:1;" = -- > enq=3D0:1:0:0, --print-stats > + ./dpdk-test-mp-crypto --proc-type secondary -c 2 -w 03:01.1 -- --dev= type > "crypto_qat" --deq=3D0:1:0:0, --print-stats We can probably add a sample print-stats output here > + > +Limitations > +----------- > + > +Only one crypto vector and session type is possible to chose right now a= nd it is > AES-GCM test case. > + > +Number of descriptors if set by default to 4096 Number of descriptors is set by default to 4096 > -- > 2.1.0