From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0084.outbound.protection.outlook.com [104.47.41.84]) by dpdk.org (Postfix) with ESMTP id 68D4B1DBF for ; Tue, 19 Dec 2017 13:46:01 +0100 (CET) Received: from BN6PR03CA0082.namprd03.prod.outlook.com (10.164.122.148) by CY1PR03MB2361.namprd03.prod.outlook.com (10.166.207.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.15; Tue, 19 Dec 2017 12:46:00 +0000 Received: from BN1BFFO11FD020.protection.gbl (2a01:111:f400:7c10::1:197) by BN6PR03CA0082.outlook.office365.com (2603:10b6:405:6f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.323.15 via Frontend Transport; Tue, 19 Dec 2017 12:45:59 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD020.mail.protection.outlook.com (10.58.144.83) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.302.6 via Frontend Transport; Tue, 19 Dec 2017 12:45:47 +0000 Received: from [10.232.133.65] ([10.232.133.65]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id vBJCju5L010179; Tue, 19 Dec 2017 05:45:57 -0700 To: Akhil Goyal , References: <20171213135659.32648-1-akhil.goyal@nxp.com> <20171213135659.32648-6-akhil.goyal@nxp.com> CC: , , Nipun Gupta From: Hemant Agrawal Message-ID: Date: Tue, 19 Dec 2017 18:15:55 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20171213135659.32648-6-akhil.goyal@nxp.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131581611476516542; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(336005)(346002)(396003)(39860400002)(39380400002)(376002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(24454002)(105606002)(106466001)(31696002)(47776003)(68736007)(104016004)(65806001)(86362001)(65956001)(54906003)(110136005)(6246003)(58126008)(316002)(85426001)(4326008)(31686004)(53936002)(5660300001)(356003)(2906002)(65826007)(305945005)(2870700001)(36756003)(8936002)(81166006)(81156014)(8676002)(5890100001)(2950100002)(498600001)(23746002)(83506002)(59450400001)(50466002)(97736004)(229853002)(67846002)(8656006)(77096006)(64126003)(76176011)(53546011); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2361; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD020; 1:MGpYAJhCzYgwggddJQLlaoGfGI7f0gXWS2pTsNIlt+lkchzVAwxoKtm+9v71RsxRSHRceNOFR5KuLw8rHJmXooFyM8Vh+hWkHwWsO2lGr84wCABxCV/3/fp2cDIYxjaJ X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c2552482-ccee-40ae-febe-08d546de6d7e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603307); SRVR:CY1PR03MB2361; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2361; 3:AYP7hcth4BDLMAwhzZDlMUbIttdUQaLirq20xkJ0RVrrwHTKz+0dix7Wq5u9pVD/ScnvuZ2/GV4O3+r/BZDz0ksOaxS3IzED/8V3cXSuniXCa5GjqUVwx8LShJygHf/hRDwGZIQiTrRWJJsnOj7pAFcwLwSei/29iD72dFsGvAuDvuVuXrkvpn2xAUjRpp1HPCiucgoC+3wM+GmXeVvfpeFhTAw3vZJ04P97txvMuXw/GocNWDZgRY8B6v8x7aQyKg6wFFms3OYgVr0JVeEn80L0jAU8u0J+OX/zde1YQQarecKLqBoO9mG2xhqE1z7Je1RVe82utx7+YkPsV2kfoVVHdvQ2sys0+KSZHohyG20=; 25:Io+ITdPwvhhfBunyFrhxaYauPqGLjvzvE0j4a1u5gLPSvGZARM8h+gjYQeodPzA34i9B9wUQLFC2w7A927ZllP3DaWqi07Yp5IK5JBBBfddcgz14pK7jyFUqtYzU45+FE/lhIGxNKRpf0/hjs4gkSIBI61oSsAI7jlGGR3UAQ3sR9ZegQu8HA4spfbW8rzrzjw3TFdL38wrm6ylVGccbJ7zgxlqN2MHQpewNymZK3cjDQNrdLFY4fStFX9FyegLHYVdKa6zdCUQYqsfZZ7BACRs+wHgdz1P27rDK9QIwd5Wa0SyPtXokFCgSHpTwdFWvHNlaJNds8dK0gx+3zIEIU8+F3xuv+ncXOif6PN9cf6o= X-MS-TrafficTypeDiagnostic: CY1PR03MB2361: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2361; 31:3EmBWSHzn9PXAkWA/1pF4IDTBZmmsxU3/HArY1EZEeZ77pheFK8y6IlHAsXfJf8DfP6Qzcaeo0EnD/FXJLKKZVHtqGIV6JpGqop6QEBbRgiVXpfhaO7/8+w2wZfavql3E5XSGbmZ7u/dyDBtyHrnuY2v3PGz87d9erHrFziS5NoBTkK0uLi+898537Qew0ppK8qrFSVYJX5q5X+XaHjPTpL0p1Qz0bjL8aF0n0ie2bM=; 4:Ps37FPF4JWHrKBkKnfvMfZZOUl8jihZ5LQnQpL7r3ebHVtSS4mIYMn9du81jr6bOxfMpBx61wOPoZj4yzVbw7y3bgDm6ZE0bVx3FaOvaX38nUOrcnfDQL8rE1Hz/skEvtulAqhuoRwetr4kV/4IPc/D1MMbhpUvnYuT+h+Z1xq5Kdc6gJiP7WRqSbUd7Rc7KeuflY4ZCOQQNMSbgGTPNC4QFPWC6S+CrX8uWmE7n0q8YzS/SOawusbjbWYg1kIVEq2YSfa9HdAIazWIeG+1KhKrtG65q30Z61zHgOaZVT7gIr4jHGnaindIkIHX4bJkg X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231023)(3002001)(6055026)(6096035)(20161123559100)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123556025)(20161123561025)(20161123565025)(20161123563025)(201708071742011); SRVR:CY1PR03MB2361; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CY1PR03MB2361; X-Forefront-PRVS: 052670E5A4 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY1PR03MB2361; 23:fhT3uLw3/ZEjRLFXsHPikJ8FDSXnlCsHX4y+Y?= =?Windows-1252?Q?HC2EnTDarNi1R7xrKR1wnTgAgKiUlQ4WA/Lh/27pu16q62s1tq5bXrmX?= =?Windows-1252?Q?JkUWfWbtfY1/m/zPrSMXD6L8KCwGgl6nb+frGhlSBbtoPygEHwyxFGsk?= =?Windows-1252?Q?tRUZstOyMjQsjtW37JFb67I4UvlAw+C0rmA07+GMgnxkSMZHDJzl/JVp?= =?Windows-1252?Q?Lbyuid3V0dy0CDqLLHHXtKZyz2qUXGFu6/k7Cm26oubBN47i+56W5Njp?= =?Windows-1252?Q?hGnuVAeu+R3k2XbKlY3qJ6kJES4PSj5HIFiIRi4m4rEVnY+L+/VMZRJP?= =?Windows-1252?Q?Qm6cO4I1hzqyUzN8wvQdq9UGbYTsxr0atsa3PJMCyfOgw3qO1yH4cnbb?= =?Windows-1252?Q?94rHY84uRercyrJEWQ31NmAkj2h6ZgpE3KArxJ3PmdwCSyb1oH4VkiVu?= =?Windows-1252?Q?CTPzAG+Rg5R6imWBN2OcfbYXO9DN1XOWVmZGUXdeqHkCdUlky0i0kIG4?= =?Windows-1252?Q?8MjdrPAhIrYJLvtqUVX71QaHANR84NqeLMUpmB12xWU0tfn68W17j/G2?= =?Windows-1252?Q?CXAunNAgSsVoOw5BCPPPEura5BS6fJgCF/0gsS8dV/KitteO25AqZOT7?= =?Windows-1252?Q?oU3kCJRRWzruoCXdfD708J7yvB5lZd7VJueEt2jxs9cCXSB1mCfqbpQn?= =?Windows-1252?Q?qWaqyQzzz1Hxq4IZuewX3hpDTS2YWsS06NTchGKP6B29JXranS/hHOC8?= =?Windows-1252?Q?MTHu7QDDTSF1p00oahW+9Agf5bm8P8fQEEf9zSmthgEM1wnVjpM5SEEe?= =?Windows-1252?Q?IO/dmGqrpXha5DdKDOThy2RXs3op7mbYTR+hngv3AYdisttcQNXXQd0w?= =?Windows-1252?Q?dRhhNJfVs9Jkwv0JRbB55y4WAFNIgOqjMEJGgkudGb4zdauMyQDNCPjY?= =?Windows-1252?Q?J/QvpOHdS6OfJmKXEJtixkZm3TgGWljec+zTeMc7HjbsXxFiNdEivG+Y?= =?Windows-1252?Q?tl7rbx2pKzbST47vm2EERCFQ9VA5ZICxxnYNkKVZqFL1tPc89gJoN6xm?= =?Windows-1252?Q?wLKAbaGUSDiU8jzg2pha/RvqZXr40xTJ+cdbKlSVeourWRt8QUtl2m6B?= =?Windows-1252?Q?REChHjIGwmAOyroLt8hcnyIKKuGd/I+XzwKbImR1vWnOao/kwjJ8ytpL?= =?Windows-1252?Q?0u71LfrDeKY6pXqxoikaQVTAIiSi+Dk4LyeVrvEbgcBMtOpbc+/tmfs8?= =?Windows-1252?Q?OODTkr3yZpup3xU+ALFu3q1/qpVVo8Kv3xLNAIWTIZErJGg8W1mF4e1b?= =?Windows-1252?Q?HGyO7T2tP1v0pml8Al2kWUitp6JNY3vajU169enOzc4Zwwo74fQANri7?= =?Windows-1252?Q?jNlK3PK3Xqe0yceBk76DFSWQDAS2UJrSL6mV4P5Eg08wHen7RjPx6i3i?= =?Windows-1252?Q?glHM3ueuafTfKIrutos?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2361; 6:rUXGS81gajCfqphbDRSwJ6J+jottxu0kTOOEoEafF5IyhtgvGPPiD711kvUVzdLePJwuoXcikKJmbXIMektpE2r4LiWVoU9fIhoj/PosZMAb4hBpMttIfL2rRfvKx/kK9JBVUfGdAwcF/1IEuQKpnh8yNE8/QGvuebJh5kglgrqaIyxYWzO06fmI63y/5g1x9+Q60vJwjNrVy4uEFdY072Hlp0f6xNX3JTWaVQiRVRsQ+p2XL2ePEnvFgx7i0fbqClvTSblxgEzsb7bhGdAO5EmgADw2LYIEwR1pvpQr4vG63Eg6mQrJG1yGqrudleeSdGSObf6MF0hNCap/L8lGQ8G6wpsQTjVM9thK/ieLIZA=; 5:gUPLSfbZj+s3Ht40t0rr+N4a9MXgTD/suPNaNaClQnBIA9Eo37ZkslqD/pBTJiJIgIXm28qQGB0QZWplg7MZ/COO3n1dtY17urvRN4ywnZskQEoLcmKxN4GH3DDrfH0lFh3N6AMHxpRflSokdWjIaYevYyb78OMgGDOWs9TT1o8=; 24:KyoG007Bl+aKJ0eTc/i/7BN1ktIQ5ACVOtXZi12v32gWR33k936+C/itG8vxt7v8h1Z4weQxv3EBw2aB7CIZG5vyq87eMV3GMRv6RUnUoFU=; 7:6gUjRlX8B3KokjPWvBRhmTJT8TD57TBcXsyz+jOV9aV+pXyqFPD0Zt9YQIRj0DJGUtD4bSInsqbMTnWTl3CQtpKwJ8tcJq9GrndVaLNbJdNQgNdb3GyVOG+VIZEobIj4DrfF+r+3K/EP8/EmrP7KYhimoEEqDmTjfvqis8EumY1P314+F89n9BtXug2P+N6WLEjicAmdHiO4SXDZIyW4lmWBGnVkJZgKeiZFgVzKrRW/0G4uZOzL7CL9Nm0vv7L2 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2017 12:45:47.4644 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c2552482-ccee-40ae-febe-08d546de6d7e X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB2361 Subject: Re: [dpdk-dev] [PATCH 5/5] crypto/dpaa_sec: rewrite Rx/Tx path 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: , X-List-Received-Date: Tue, 19 Dec 2017 12:46:01 -0000 Hi Akhil, On 12/13/2017 7:26 PM, Akhil Goyal wrote: > Rx and Tx patch are rewritten with improved internal APIs > to improve performance. > > Signed-off-by: Akhil Goyal > Signed-off-by: Nipun Gupta > --- > drivers/crypto/dpaa_sec/dpaa_sec.c | 260 ++++++++++++++++++++++--------------- > drivers/crypto/dpaa_sec/dpaa_sec.h | 2 +- > 2 files changed, 153 insertions(+), 109 deletions(-) > > diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c > index ea744e6..b650d5c 100644 > --- a/drivers/crypto/dpaa_sec/dpaa_sec.c > +++ b/drivers/crypto/dpaa_sec/dpaa_sec.c > @@ -563,46 +563,67 @@ dpaa_sec_prep_cdb(dpaa_sec_session *ses) > return 0; > } > .. > - > +#define DPAA_MAX_DEQUEUE_NUM_FRAMES 32 It will be better, if you define it in dpaa_sec.h > /* qp is lockless, should be accessed by only one thread */ > static int > dpaa_sec_deq(struct dpaa_sec_qp *qp, struct rte_crypto_op **ops, int nb_ops) > { > struct qman_fq *fq; > + unsigned int pkts = 0; > + int ret; > + struct qm_dqrr_entry *dq; > > fq = &qp->outq; > - dpaa_sec_op_nb = 0; > - dpaa_sec_ops = ops; > + ret = qman_set_vdq(fq, (nb_ops > DPAA_MAX_DEQUEUE_NUM_FRAMES) ? > + DPAA_MAX_DEQUEUE_NUM_FRAMES : nb_ops); Any particular reason for keeping the limit as 32 for SEC. The dpaa eth PMD is using it as 63 i.e 6 bits Also, you have a option to use '0'. NUM_FRAMES is zero—indicates that the volatile command is not terminate until the specified FQ becomes empty. > .. > - > static uint16_t > dpaa_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops, > uint16_t nb_ops) > { > /* Function to transmit the frames to given device and queuepair */ > uint32_t loop; > - int32_t ret; > struct dpaa_sec_qp *dpaa_qp = (struct dpaa_sec_qp *)qp; you can avoid this explicit typecasting > uint16_t num_tx = 0; > + struct qm_fd fds[DPAA_SEC_BURST], *fd; > + uint32_t frames_to_send; > + struct rte_crypto_op *op; > + struct dpaa_sec_job *cf; > + dpaa_sec_session *ses; > + struct dpaa_sec_op_ctx *ctx; > + uint32_t auth_only_len; > + struct qman_fq *inq[DPAA_SEC_BURST]; > + > + while (nb_ops) { > + frames_to_send = (nb_ops > DPAA_SEC_BURST) ? > + DPAA_SEC_BURST : nb_ops; > + for (loop = 0; loop < frames_to_send; loop++) { > + op = *(ops++); > + switch (op->sess_type) { > + case RTE_CRYPTO_OP_WITH_SESSION: > + ses = (dpaa_sec_session *) here and other places as well > + get_session_private_data( > + op->sym->session, > + cryptodev_driver_id); > + break; > + case RTE_CRYPTO_OP_SECURITY_SESSION: > + ses = (dpaa_sec_session *) > + get_sec_session_private_data( > + op->sym->sec_session); > + break; > + default: > + PMD_TX_LOG(ERR, > + "sessionless crypto op not supported"); > + frames_to_send = loop; > + nb_ops = loop; > + goto send_pkts; > + } > + if (unlikely(!ses->qp || ses->qp != qp)) { > + PMD_INIT_LOG(DEBUG, "sess->qp - %p qp %p", > + ses->qp, qp); > + if (dpaa_sec_attach_sess_q(qp, ses)) { > + frames_to_send = loop; > + nb_ops = loop; > + goto send_pkts; > + } > + } > > - if (unlikely(nb_ops == 0)) > - return 0; > + /* > + * Segmented buffer is not supported. > + */ > + if (!rte_pktmbuf_is_contiguous(op->sym->m_src)) { > + op->status = RTE_CRYPTO_OP_STATUS_ERROR; > + frames_to_send = loop; > + nb_ops = loop; > + goto send_pkts; > + } > + auth_only_len = op->sym->auth.data.length - > + op->sym->cipher.data.length; > + > + if (is_auth_only(ses)) { > + cf = build_auth_only(op, ses); > + } else if (is_cipher_only(ses)) { > + cf = build_cipher_only(op, ses); > + } else if (is_aead(ses)) { > + cf = build_cipher_auth_gcm(op, ses); > + auth_only_len = ses->auth_only_len; > + } else if (is_auth_cipher(ses)) { > + cf = build_cipher_auth(op, ses); > + } else if (is_proto_ipsec(ses)) { > + cf = build_proto(op, ses); > + } else { > + PMD_TX_LOG(ERR, "not supported sec op"); > + frames_to_send = loop; > + nb_ops = loop; > + goto send_pkts; > + }