From patchwork Tue Jun 19 06:26:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 41254 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EFA4114EC; Tue, 19 Jun 2018 08:28:11 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0076.outbound.protection.outlook.com [104.47.36.76]) by dpdk.org (Postfix) with ESMTP id 36E2C101B for ; Tue, 19 Jun 2018 08:28:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sTr5Oe67CLeaIXzPHoBzhMVGgaw0u2lwDYplKd6/vDI=; b=k77jz0ZHWoW67FFqIlO6aB2MR/f4RITec9HoZGFDNmNixk/eVQUlSa9z4F1WnZ7a8bDyYtCTCcuHeCyTQCeb4XkPl6dddaZ/ZQzQCT8TcE0OGhplNs0nXmlum7sXey8Yw4CcJVsMUXZVfunngSMY9jmh/U3orrXeqAtQNUc1uRQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Anoob.Joseph@cavium.com; Received: from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2) by DM6PR07MB4907.namprd07.prod.outlook.com (2603:10b6:5:a3::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Tue, 19 Jun 2018 06:28:05 +0000 From: Anoob Joseph To: Declan Doherty , Pablo de Lara Cc: Anoob Joseph , Akhil Goyal , Ankur Dwivedi , Jerin Jacob , Narayana Prasad , dev@dpdk.org Date: Tue, 19 Jun 2018 11:56:13 +0530 Message-Id: <1529389574-6643-2-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1529389574-6643-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1529389574-6643-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR0101CA0026.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1a::12) To DM6PR07MB4907.namprd07.prod.outlook.com (2603:10b6:5:a3::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3690df56-0bc6-49f0-d218-08d5d5add2ba X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4907; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 3:isBhdu+QA3ARLI7+tEzEl3t6X9pfUQuDBTPtFJIRbicTeZriFPKs1UeP0iuWxjFSPrRDAq4BCZQJ7mUArioayoXHY4p9oTVzp57C+Mbvp7dO7f+gyR7Uyix+pUeSB3TVFvcm/a1sEYULjqa4wkMd/H96j8rQHLPfCK8gS/2OpFNX+czl7Pt96YIQ73IymcxHVQmdINdk9YpZkszbFcsKTcDjUkB4bM94q7xEWVKclu71i5Sdsd9fCSyp3vkFy2Y+; 25:xhIGFMkjvwx3Ashcya8NlxjJoab58ek0/4TeNLlderHklvZMLp6bP+k2hiU1echJAr8oHSNCYL7ldCF2Ex2475zQTfmSSfHDkhIFPqFDUkleOlYI/OuSWiyPitbsZC0PSDHDc1S5Sf2VrF11IvCYoY56ZVMyHq6uVNFyaEOrKXYjCFtPFuuRVEgYDcsmN4BclpoJMw+GdgWmwI9SpW6N4SIXyzYQ4PMAb9RwOK0Bd9Pdc1vJ8ycE6OuPjz+ndGWT+bCfkI5OCPshcyUpPacSZTzjghi/yblU8efYeVWbpjmZz0TtVbObSAO1yvbGA16H07TP9tG2rfooJt5BB3xD9Q==; 31:k40Dp4QY5H1U8kv9Uw8HM/wi6RoO0jogJu/kTW/rxL+0rZyyem9av5Tt6MlXz5F5Q2yCR7UAkmMKB31RS+Uc8VuWLoHRMfM/Ck+2iqTIRvOJK65PPFdbIGePYuTAIGe3gu75UvSfzTEjAj1/2cNOzXIEJoILRXbKrAnupaDk3iQXdmXgd0c8QRMEJvdu6Ion/Igye2VTQpIyuc2C6bogOUK8vYpLCCIXqqkB1LKAxJA= X-MS-TrafficTypeDiagnostic: DM6PR07MB4907: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 20:arHzqwFfmiZ1Ea5dLY+P4UrqiACLStsYz6dKTB4XxCK5ndgHnBReSO59lfuOkDheRzA0bMNLvnNm9ebJex5ez/AUcpUsY306Sd5J64V4O+cxXbeFlSWCCwLf51hG8P7ZcyuGpEm2nsgluSu3seFU347MRsB48Xcv3nZ+QjDMMsizomWUFr+goqO5qpMvl+uB06NbMiqfId6P4+EJAcXnxwspgfhKwdYdAUuHnzegVlzbNfaaJHw6j5TWPjBVxdFDBUHCwBk3pB5olLi4L7oTsJMdoUQjHgvsx4yehhwf0cDOt3jauywmWS2RiHi5Rxik49fE7pYcACuCAQNUo0PPZNxE7nX+NeCsk41ykXDaEN94Ps0jgrrqYaa5l0VMda5cd6gaEbTMAKFokwLr0TRSxWBZNayH2uqnjvT7bpsegGWvNIqzyu21ZsI1twspxrZsbNvdfqYqePm2fdCxnEaEhoe1PaLkEb/p32Sk7gS/zyB6f+3ybsyMxSnhyJpG8FugMF3o/tnYQcZ1XaO4m+H2WirFDe/XMpDbW7GqZ1ZOqfJ6+f1fG5nFBdkn2SvhBCGNRIzcr+QV4AjH405UVbJJxdUlJal81V5fXxaG4tJdixE=; 4:OEq+N4h1DEYjrdhcUPKzBsE+fM40N+XE0ySZv9rFoNX7hiZTc6vLnYqbAuFSt+WunnDECInq/mO34sLPCAl5ezaU8BfVbo9JEEd2au1CsLWetJpk8gZzo4ROIVEuE5YmnYUEs+FuJlnmvKjI6hrcShjr4ahraupK+dQTkDwY0QUpOFGDq+4hI9nLxLwOozKBZFoUyfOnu4R0JJJeoBNXQiPJWPNvD4jWE14OIqBgqYYnX6uKGRj2xkCsm7AzQrEy4BF1S8CuBBBrBP645uuoCkajcD4GJnOCHAV45FrLnnB35r0StJsZANgvlVnGi/FA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(10201501046)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:DM6PR07MB4907; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4907; X-Forefront-PRVS: 07083FF734 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(396003)(39380400002)(366004)(39860400002)(199004)(189003)(16586007)(11346002)(36756003)(26005)(478600001)(25786009)(44832011)(2616005)(42882007)(16526019)(53936002)(54906003)(186003)(48376002)(476003)(956004)(6512007)(6666003)(305945005)(51416003)(316002)(52116002)(50226002)(68736007)(72206003)(486006)(6486002)(7736002)(76176011)(4326008)(110136005)(50466002)(5660300001)(3846002)(6116002)(105586002)(81166006)(8936002)(446003)(386003)(8676002)(8656006)(2906002)(106356001)(81156014)(47776003)(6506007)(97736004)(66066001)(55236004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4907; H:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM6PR07MB4907; 23:6qZ6hKT+mCe9AbeOSVneQYOVtSPz5fS2Ts9vl2Y9s?= EM0hIgQseBGEkE2mRHYvX0vnjKGexIAUcmpC6Ex+kg5GEUhZ0ZW9truTlXuauTlOkrKecegDVZYJRYhb8KThPdJnrPMkA48QaMTDMZJjAe48vdpsslhemR+lS8MtlA19nYg8ItBwEyrvB1DBf6XHu2BTkC2wNMMFh9bhrTssi5tCf7LeXM91ZDosm1I9I3H+ItrKcYU/mJgx2yaWdZH7p44E2hhneT5uGInV5koCLfhDpg8oq/3Xzk4O2c1JhE7QlG5YjVydczvyMZCiUqVbZnBMtl/afQw70s8Jhr4JHJK2kzp+RZiUOUbOZTPYUMlHt8m88eqHMtVd11KgxnuLIPMGD9A4C6XkX/BbuM/6qCafjDyJAUcisTcxF42oAQKK7C7mUSdZC4u4cicQ672lSnkZfjmkL3dJX0k3ScEFoH6wAgJggr/VLxgMkUm4f5BvISWzlM67yGNzvbQbP2vRTMIvN2Qy6auZicCJKSTRPWEG/tindL5DG+1/k2Vkwo4MvP08H3JpEDNPvzmgeiQ1kKkPN2pF4630l4yDkt9ujFNAIzvRaD5ryUUdQELZF1Up0qAXnm30lzgAq2B1yUQut1edVBD7B49UTp6G4bed4Fojd8+blT274rdttbzjFRLcVhwWMkS6vfMlzsE9Qxl3KNnTT7hSO9fQLxX5pd0UZNG9B6e9wT/Cagys6Jp8/FfKCiwsuiY9eyXjvW9kKlsv23zOaYg2OHOVHTM119IePZdL9HCiYqwW2f04wJw+50HT1Lsc5wIG2SuYpoIKvgMrMM9h6eaKAcmc04rwJesn3f6d7/N7BI4vlDAX/48o0UafbbQKlcNcDmEH1GMaTWbbh3lbx3IrcBXwsCr032sSdJqucA3b9bJznFGf+Jojhl/FdcZRLCVI076kEQXWMSmqzdOi31bdt4nipXkdDeDDAtyZVV3C4BLI2tHyzZDW0W+FWC24pBUuPrETYl5kphlmKbYwyhysAdtJxyal7yP3Ga+m2xAFJLU96gPotmK7+iX+wLZJ+t8FcZiTU/uQFwUe71vJ3mTY91OZW0qBuUrC/13yTleyDaH51mjr9tu7fNP/XvbNDa0lILFSYRcaDXcbdGI0U9luQZtkkBfP2O2RA6eaAPqYa5zVPgcZtzz1DmU3WD6Ghag03UpQFqhAJEAEAemNG6qNqVWT6WsRFQ8t5AO4AXXJUW7NirYYTxCniY8odVSQcEKm27EBf0WWXhpXs1WGQa/mpZo33x+6WDLbIkxqQ== X-Microsoft-Antispam-Message-Info: tKqDkh90jR0AGO36SgMW3be/pRIGF1fWP2g6cigNahTA4Dwq/2mTRUHBIuYV9IvgC3mqWvBX4HCkwVAYaAYTn1aw8kE0++2D82J/AbTA74b4+gpIYRnnLhKSYwOH+1KdAkA67SXeCUOE/De8rwQeME0GeRngEsV7YfnjFG4tFAQQ57SnX5acqP1mohxU3ewFHe+8VHk098U3XBZhLjJ/yjI/l+CYlpDu0//KVn4JojdqQ4awh36qkZ4ECjCJqjv8GJcUeAXl18GK8qcMrIgtbZaXcoHPdFKwItF7964IwmvmokyIXLVKwr6aSvdh2G62k1QkCzH3uj7eqhOV5Z9EwA== X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 6:ONdXNFXFcyUNUrsmkyAxjdpENu6dKFy95xEFs8YamVj2EJ5xgkVOAkQCr0Q4/5gqZgQ173L725s1Ul/G5yMZ2+O3atSMpBBIZKu+MAb5hhjKuA5ul11H1a6SjbIyxvZ5YSMaR4mijIbQw6rbDQrRjtDupzDM/9hbo/xXY368UCdjObrYpSnld9dHRkp/mlvlyA4gO6AWlWai2U3VAGBSwd/hRgI7TiOgbLhZ+SPeP+S68Bd7XmEeiCfvnlWNYqQM7PB5xtJ1EyNcrUzxZ7rkohUGgK0u2G7kI8kHy5DmjouaH5gUOxhf8cpfmGBxuLflLSDaUQ6QFp8grGCkA2n0E5FbZHoy5lKS3+CaFnA63i5VBZT6qg7/9y+QwQqCV5iJnzHC60Xf1J96Og/K3LLYeK+VY/H9rSd4vRNMjURzYZDO6PruIiStOcHhOvPs/OcHLQRPS6V0fSmN4peMNbJlZA==; 5:dWtEUjdkr5EK7lLbdXpRkbo2P88smoVXq26FqjpvJRzXhdrAcrCKlpPsF1LXB3wg4gARjlRRwNjhxFHEh4xWT5rJ6O3a0HUy3Es8ACOpSrzos2rzJzccsj1uzD+i+BTVQu9ZBgIUDVajmID5l70+uZ8ljFbxLz/x+YL+YB9TXUg=; 24:6RgTlYAjbyXyqblpq4eh6Ez7jQNXlxMK9jdWDPHDKVc2C4RQUWDPHXWQrPREjevqJH1dEhUgNd39IuF2XH+rVdyTg+9W03taU3Sb/sC1niM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 7:Q/feigmfqJcRMNH4ZfWGr1tnZX/t3HzXnXYd/Qgl2+ANYvWvlMUsp7x5rgI+/D2Tz+YYFJoNnT3Km+7s0SYpccnHjSxPpD3spdKnhxgYm6q0EV7+lothPZM2G4JVVzocGoZb+fbXOleyoqkLlqFYTdZDNNTXyallRnlSkQR6NyPBlKtkMr2TNDk0IsyvmQt43/ucRIFQycV2BVbO3WFRQYY9ix5MBgL/lcZWDzY0gC8NzD9urFCNhbtzo2B5AU0q X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2018 06:28:05.7471 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3690df56-0bc6-49f0-d218-08d5d5add2ba X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4907 Subject: [dpdk-dev] [PATCH 1/2] cryptodev: add min headroom and tailroom requirement 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" Enabling crypto devs to specify the minimum headroom and tailroom it expects in the mbuf. For net PMDs, standard headroom has to be honoured by applications, which is not strictly followed for crypto devs. This prevents crypto devs from using free space in mbuf (available as head/tailroom) for internal requirements in crypto operations. Addition of head/tailroom requirement will help PMDs to communicate such requirements to the application. The availability and use of head/tailroom is an optimization if the hardware supports use of head/tailroom for crypto-op info. For devices that do not support using the head/tailroom, they can continue to operate without any performance-drop. Signed-off-by: Anoob Joseph --- doc/guides/rel_notes/deprecation.rst | 4 ++++ lib/librte_cryptodev/rte_cryptodev.h | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 1ce692e..a547289 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -122,3 +122,7 @@ Deprecation Notices - Function ``rte_cryptodev_get_private_session_size()`` will be deprecated in 18.05, and it gets replaced with ``rte_cryptodev_sym_get_private_session_size()``. It will be removed in 18.08. + - New field, ``min_headroom_req``, added in ``rte_cryptodev_info`` structure. It will be + added in 18.11. + - New field, ``min_tailroom_req``, added in ``rte_cryptodev_info`` structure. It will be + added in 18.11. diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 92ce6d4..fa944b8 100644 --- a/lib/librte_cryptodev/rte_cryptodev.h +++ b/lib/librte_cryptodev/rte_cryptodev.h @@ -382,6 +382,12 @@ struct rte_cryptodev_info { unsigned max_nb_queue_pairs; /**< Maximum number of queues pairs supported by device. */ + uint32_t min_headroom_req; + /**< Minimum mbuf headroom required by device */ + + uint32_t min_tailroom_req; + /**< Minimum mbuf tailroom required by device */ + struct { unsigned max_nb_sessions; /**< Maximum number of sessions supported by device. */ From patchwork Tue Jun 19 06:26:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 41255 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 92AB7DE0; Tue, 19 Jun 2018 08:28:15 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0079.outbound.protection.outlook.com [104.47.36.79]) by dpdk.org (Postfix) with ESMTP id 3E1C71AFF for ; Tue, 19 Jun 2018 08:28:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UkQqX92Lv+g6gRJ1wUu5xS0OMMYLjxPBwENLQVzDw+0=; b=DwBdjpHkCoJ1WwPCdxUsfxWh/XfTRPkCP88Awu8sFlINQNFexm+FR2jbJYjpkeNQ2YLp45gAajVgSrkcQXY811iEbLoKgom4XsCWS4/JlVf6UB20XrsMjXK73P3cLp9clhHuKgtj7mJAYP/1bxOVtC5lonw+deeAUKXTkWmNh6s= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Anoob.Joseph@cavium.com; Received: from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2) by DM6PR07MB4907.namprd07.prod.outlook.com (2603:10b6:5:a3::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Tue, 19 Jun 2018 06:28:09 +0000 From: Anoob Joseph To: Declan Doherty , Pablo de Lara Cc: Anoob Joseph , Akhil Goyal , Ankur Dwivedi , Jerin Jacob , Narayana Prasad , dev@dpdk.org Date: Tue, 19 Jun 2018 11:56:14 +0530 Message-Id: <1529389574-6643-3-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1529389574-6643-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1529389574-6643-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR0101CA0026.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1a::12) To DM6PR07MB4907.namprd07.prod.outlook.com (2603:10b6:5:a3::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f7107e68-c56d-407a-ad9c-08d5d5add4ad X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4907; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 3:26HXMyoqk6hrd6snlXA1Sl5YaTcJx0Mq9ozDjAGd8b0qM2ShCtZ/vuOKllxRlIZs6i2wCVj5IeklxKCswmX1aYTSa+YDtMUKPugMF87NJRApXsk5Fn7zMEowno3mNs+nnWevGtNb7bGq8d0anG8VQLiFFXQnB8god+xdefSGg7nmjRzbFS8uNHsbtstl1Rk28dyzetTQR/kbnPmbCiZjPntzfHYDMQ9tS3cyKPtL2L0C8LyCR1HUdj6qndjSa5lB; 25:wkJUQKEMBcoyl9a97xB45MoNe/toPxsmw86xBoAL01YderxMrEFTzrC4oW+/aCiapOfQzgW+mEHS3sIc2EhEvHST9AFujNZzn52NYA0Z78EPwsRLn7Y8oD5DnYja0KmdtKzPhiWP+HLsydCenEpz8R8ZZs0bKxm950L8VMhZxK6VIcJ12fcpVVYQyMcc+gLU1oTf+deK800zXJeWzlSKju8QCwXWsr5zVKmXLZXwlwyEhOu6lLrgYoF5F8GDO/zXp3z1cyUvti9tCjw91SYqVZLvGuyN9vg6vHLZLxiwDsWz3g1FF19SjgPRytFr+sVOJIXlWEIcEHTRqnarc6wHpA==; 31:nzOsAWBn6F6YBtyaVHZFMjIlsuuck8FcE5e4V+G9Hg0Pc/GBSn5WgZOakY0wYR1pYlooFmSBwjbdwepGRDXHiuF+zCWOrf7jTRB19VR22Siq7EJuxrZ3XuwLAb/JoKx9vnjxep95GVX/pIhY6chyb87K6g2N7Ro0HKMkExyEFC0rN4b0TuZGyK4iJK8c2iMKWht/FFrFKlfaUd37e4brFIyQ2UvCTUcZLW+YyG+Yqaw= X-MS-TrafficTypeDiagnostic: DM6PR07MB4907: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 20:8BwU3yoXqqlrz2/GXBgfaDFa6vn617kgodDJ2T+IzMUm0eic5jM4HUV8zEwOHedEVlVjydHZDj1mSxysr/cksH5g/h7c2wA2G4nr8skCeZeR4QVj+YA1qdmkLdcJ0By9oq8n0IpdQWKOZz0mlctM0IT4Cyco1j6Dl8dgR1t1qv4P+6EODjxRQ30koiAsToEyV+u8BF7sVzmBGsarbsM65Jq7mGsRzzQ17glaki7Ha7lbEIRa6tuAcBL5H0ovG/oTZUIJf6N3ewV38LJjuGJdSaTQ8G+UrNxWUl0vU0qw7gxHyxagEsFxriy1/PwvLNzdvBE2ivsAR4KYA76qEdSC6xXHVTxr37Vza3ltsUKxJMEnSH1M5f117tPNPBVe42ky9S5pKxCmexr/yXSN3Cn7rQKdHetGVl5g/sWHYTyvA2BswFNtjOrcYO8tsh0uf0OuqjN3y8YlsWmIjYnbVcJoe8gF9ZsrJ3d1mH9kVG/FTTaoc8ZugXAmT5hYN1xmMC4NlKQSolEPlGfEgMo5gRGmtjW1GorwLJTIaCww0xQ1vmzFBZUirZxz4sD3pWoLN948+SvvEUgQBE2vNx1QBBKdTBOjWju9AhzwWWFCM4NCUBw=; 4:h/nR+CkfYClRzvNahy8VgVu6X8sddjvhw/PgyF2NetUxlQy0lgI4SonHCBIv5hofRYSW+97wy9cwzlGUuI5u/oeq68v/91NvLDgnzXR8r68op2tjy1bmNM5nGzOEPZYRLjoG2rLEUvwAHs8qcWSbF5dM3vlkv1u7yuntGzB41+8pRyuvGZjC5sqhVVx+sbcnjSbJay2UtizexzqZ/mmyZv/M5ERiUpLkZVNonT+gNBtfoN7S2ax6Xnq4XO3UzlFH8WYiiJ6kotPQkgQyt50hvA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(10201501046)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:DM6PR07MB4907; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4907; X-Forefront-PRVS: 07083FF734 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(396003)(39380400002)(366004)(39860400002)(199004)(189003)(16586007)(11346002)(36756003)(26005)(478600001)(25786009)(44832011)(2616005)(42882007)(16526019)(53936002)(54906003)(186003)(48376002)(476003)(956004)(6512007)(6666003)(305945005)(51416003)(316002)(52116002)(50226002)(68736007)(72206003)(486006)(6486002)(7736002)(76176011)(4326008)(110136005)(50466002)(5660300001)(3846002)(6116002)(105586002)(81166006)(8936002)(59450400001)(446003)(386003)(8676002)(8656006)(2906002)(106356001)(81156014)(47776003)(6506007)(97736004)(66066001)(55236004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4907; H:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM6PR07MB4907; 23:y/t2wN/5tyKQXRxB+wxP7lu1prpy2j9WUHCVHJ7xf?= Tv7p8aS6Z8Tz/aV315r2JYHYjdDsGPVfvdRCjHOJzmnsSTSZLTxbMQm9Ubgax4GAcQhEYvil5bo955hV7p8AbfuHvwye3P6mbWQADosZ5VeynxEBon+mAVlXcpb6F5m2516O5gswrIFwgbc/k8vov0JcE3XMrEaz+dXOFcKiUdvAfu+hB+pBiuC7elCdCYiBEf6Tou374krj2DXk0vCnbab5bNhGPDW8HK+tos1PdQnJDfvdyX85/iPXStBc6thPqgiOlpl5BRC5TGTPo3PFHwiI5VxBMLAKs5di9qbv5qwIn6BFwVUozDvw6zCCCmlubDHGmrObd25cTZskxrzwqVVZbLwI9s1mDQ3TuuWc8bcBrerR8ScO6D5GpV7kRQ8cwl39Dz4QnjJPVZ2qganW68xddXCDfbZM1BeAwVGTyqQOsnirn66AlJWMO95wOOvoHbja6LquVY0kEF5d/v9zM3HRGnCS3uYEdSFQLiP4fm/84jnHHB/VNkCJpOrJvEfrb5AtCcIOpZ/gsUSHjrY6ukMm6yXXpVo2cZf8WeMbsxahSUjUxdjcsA8RurYmkLlKh8VzcObwHg9cZvpa92FFYfLRtgLHgiLzfM6eDCIH1Ohse0r3ro2TlpSnbwiFWUKSwcgxqnIxQvu4/m9pAmob8Bjvrkx63YryUfxdC8RJKY8djzPb7GieSyWwfwMst2Ea0NlxEmt3YLBbK97slPy+zmCA3k/MF810mx0hvD+y1FMIuC3DQQuBG38lkw0AIPzFtq35isFrsPPjZY8JKveCcSmH81pZnVjiBrgUJi5+OQJ6Bb5eIgBjKtj5HatwKQe0OM8VXNw5f0W48bb/OLYWVBU7zCwGbt1LTuIkgRjUWUJuWCqQG47FeRs3TjY2kOembmpxyq19Mg78IGDfFaEKNzgkVANEgjFjNxoqPcWl+3UC5pt4GsQZjFd+ApFKmzWdT/vNtnCsykVi5vuB1mEmL5feXv8eavB+bK6Zff6hPz0WmD/0RyKboMazkZTi3lxzQ0KTlEdGnqRAOYWcmEe0FAjIee4LFxSBgNu4mvAuVRns98ysY8Cl3Gd8kghl44b0S2Y6EDNJYda2qFmZAW5GUXSpfCshOVqpKICRCT9itQMy2CFe0dNGnzu48EZu9KPLprDSCD63/gbIl9uaTXE1suHQU3zzUGmWTNtmB++BKF004yFbx1wEVQXSLRzSXgztrVfUM9aL6uMciXiVfGusJV15W4e6IzO4G01wSLjFYEIQW9tUA6jEuZj0msCowqWUvw= X-Microsoft-Antispam-Message-Info: Ntb0DBR/O+PO0Pm9+Ad/oDgP+IQh6vSMYLNj6B3wUnCMXy9RZ/pBMwLWkziQ/uNn+t+To3vDHyCjepA7oBxmWoyc64Q1ekX4GoK97Le4pr2z+JRB+Wj/IcPhjTM7XZ3s9dMJK2qWFcO378Mh8L8RKJXzmdyfawsK7lx0QB8m/DWys5C4bkvXyd/gnABa4qgvvHZHHo/5l4obosDmGydnfCMgdDDmN2d7b73kph0Bv9C3dQStyGGKrFRTEFBqYHpMoRPZU+xs/d3o3gGuSFIuqlJhfiOc2TtkbTxYWcSPjRvwo3Owo1LIPUng5W3HBfBofM6Qj9CnzivKeY8WqtPtxw== X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 6:tqu8ddKbfKvWz35eqUp5N/UW//fjtY2tldXWnsui1XLozoVyouqaVMXDSKxAk6BX5xMrzL9+AlTMND6pbOwpd+rTL9Ik8HAm5xmDxOX14hHa7T2xNFARClL3A+ZWtr0GoDDzqy9TZ9Ad2c1sCMojf8jUalkQhN1K9vQF4kqVqllU7c5ZIy/XZNwCYCtxziYorBLlINurXMs9EqYfAU/HRQQuRMOhFZDuhkWWN+nud4uHgPLOijAZvOaQ4Lo7KNiUQwo16gJGPSgBP+lxedDLlXKN2FTDH9FbeTX1EYFGG7F4MMMa0wd2qjDkAQ/OfWP3ZmmCzD7ga1jzH6yIR6NTLLtsIcsaq5wYZECKLfDRLt4yApv3Ck2AhqIQwZQ0DA5rLLQdMdIYvnu9BQTJ9CbkLUZgWZEWHOuha63+rTOGv7CyLJTHunt682w0+nFUnpNbw+PVdny65Ju8m0uzNy1ckg==; 5:i8R17/KZtpd/iqG2SRaTQp+TjXfK5WHeRolUvLBNjy4SgB1I4ZcZC6XFIXALuJYvavvhmik/5R/+WF6SeMPPZTQ02aZ7hglK6FKL4uWuaQvRXP/hfSCq5JgfkYD0cTAnjU/syIkH2PMZwv4gH9FDTNEbSKfvA+K7J8ucCEsyY/0=; 24:ZkPhqg+2hrZ0/FyNyRvXdPPN5knPsglbXiPZg8lXXJveEspejT6J0bQIdsXYY14fHfNNRvRmJcXXA5C/agOOzzk3vK231R5YyGWDfI382BU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4907; 7:FddeFgdlFs+HVmngk0jBrY8c+Jxy587qXdhYbSragISuJDNbvdg/c5TdCTGKNXPjXGpL4aBxkaIhrfAlCd+IJ0h9i7BCZ07T+eHLNLVhJwzn/jyw/yPn6gwUfhZOJI4L6qyCnt23WRbVk8PKbVqotEuLPcQvk7rUblC1RS156okZNgCMi47SPpsEMVEaazNx3/xSXSGo0428yTXvCYcOTbwylP90W/EI3LUL2yWWZHu1YCodtCkywLRQtSzOcYyx X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2018 06:28:09.0374 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f7107e68-c56d-407a-ad9c-08d5d5add4ad X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4907 Subject: [dpdk-dev] [PATCH 2/2] app/crypto-perf: honour cryptodev's min headroom/tailroom 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" Crypto dev would specify its headroom and tailroom requirement and the application is expected to honour this while creating buffers. Signed-off-by: Anoob Joseph --- app/test-crypto-perf/cperf_options.h | 2 ++ app/test-crypto-perf/cperf_test_common.c | 33 +++++++++++++++++++++----------- app/test-crypto-perf/main.c | 17 ++++++++++++++++ 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/app/test-crypto-perf/cperf_options.h b/app/test-crypto-perf/cperf_options.h index 350ad7e..f5bf03c 100644 --- a/app/test-crypto-perf/cperf_options.h +++ b/app/test-crypto-perf/cperf_options.h @@ -76,6 +76,8 @@ struct cperf_options { uint32_t pool_sz; uint32_t total_ops; + uint32_t headroom_sz; + uint32_t tailroom_sz; uint32_t segment_sz; uint32_t test_buffer_size; uint32_t *imix_buffer_sizes; diff --git a/app/test-crypto-perf/cperf_test_common.c b/app/test-crypto-perf/cperf_test_common.c index 423782c..e803dc1 100644 --- a/app/test-crypto-perf/cperf_test_common.c +++ b/app/test-crypto-perf/cperf_test_common.c @@ -11,12 +11,15 @@ struct obj_params { uint32_t src_buf_offset; uint32_t dst_buf_offset; uint16_t segment_sz; + uint16_t headroom_sz; + uint16_t data_len; uint16_t segments_nb; }; static void fill_single_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp, - void *obj, uint32_t mbuf_offset, uint16_t segment_sz) + void *obj, uint32_t mbuf_offset, uint16_t segment_sz, + uint16_t headroom, uint16_t data_len) { uint32_t mbuf_hdr_size = sizeof(struct rte_mbuf); @@ -26,10 +29,10 @@ fill_single_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp, m->buf_iova = rte_mempool_virt2iova(obj) + mbuf_offset + mbuf_hdr_size; m->buf_len = segment_sz; - m->data_len = segment_sz; + m->data_len = data_len; - /* No headroom needed for the buffer */ - m->data_off = 0; + /* Use headroom specified for the buffer */ + m->data_off = headroom; /* init some constant fields */ m->pool = mp; @@ -42,7 +45,7 @@ fill_single_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp, static void fill_multi_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp, void *obj, uint32_t mbuf_offset, uint16_t segment_sz, - uint16_t segments_nb) + uint16_t headroom, uint16_t data_len, uint16_t segments_nb) { uint16_t mbuf_hdr_size = sizeof(struct rte_mbuf); uint16_t remaining_segments = segments_nb; @@ -57,10 +60,10 @@ fill_multi_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp, m->buf_iova = next_seg_phys_addr; next_seg_phys_addr += mbuf_hdr_size + segment_sz; m->buf_len = segment_sz; - m->data_len = segment_sz; + m->data_len = data_len; - /* No headroom needed for the buffer */ - m->data_off = 0; + /* Use headroom specified for the buffer */ + m->data_off = headroom; /* init some constant fields */ m->pool = mp; @@ -99,10 +102,12 @@ mempool_obj_init(struct rte_mempool *mp, op->sym->m_src = m; if (params->segments_nb == 1) fill_single_seg_mbuf(m, mp, obj, params->src_buf_offset, - params->segment_sz); + params->segment_sz, params->headroom_sz, + params->data_len); else fill_multi_seg_mbuf(m, mp, obj, params->src_buf_offset, - params->segment_sz, params->segments_nb); + params->segment_sz, params->headroom_sz, + params->data_len, params->segments_nb); /* Set destination buffer */ @@ -110,7 +115,8 @@ mempool_obj_init(struct rte_mempool *mp, m = (struct rte_mbuf *) ((uint8_t *) obj + params->dst_buf_offset); fill_single_seg_mbuf(m, mp, obj, params->dst_buf_offset, - params->segment_sz); + params->segment_sz, params->headroom_sz, + params->data_len); op->sym->m_dst = m; } else op->sym->m_dst = NULL; @@ -172,6 +178,11 @@ cperf_alloc_common_memory(const struct cperf_options *options, struct obj_params params = { .segment_sz = options->segment_sz, + .headroom_sz = options->headroom_sz, + /* Data len = segment size - (headroom + tailroom) */ + .data_len = options->segment_sz - + options->headroom_sz - + options->tailroom_sz, .segments_nb = segments_nb, .src_buf_offset = crypto_op_total_size_padded, .dst_buf_offset = 0 diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c index 4ae1439..9d9154e 100644 --- a/app/test-crypto-perf/main.c +++ b/app/test-crypto-perf/main.c @@ -149,6 +149,23 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs, .nb_descriptors = opts->nb_descriptors }; + /** + * Device info specifies the min headroom and tailroom + * requirement for the crypto PMD. This need to be honoured + * by the application, while creating mbuf. + */ + if (opts->headroom_sz < cdev_info.min_headroom_req) { + /* Update headroom */ + opts->headroom_sz = cdev_info.min_headroom_req; + } + if (opts->tailroom_sz < cdev_info.min_tailroom_req) { + /* Update tailroom */ + opts->tailroom_sz = cdev_info.min_tailroom_req; + } + + /* Update segment size to include headroom & tailroom */ + opts->segment_sz += (opts->headroom_sz + opts->tailroom_sz); + if (session_pool_socket[socket_id] == NULL) { char mp_name[RTE_MEMPOOL_NAMESIZE]; struct rte_mempool *sess_mp;