From patchwork Tue Jul 10 14:42:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 42713 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 282931B471; Tue, 10 Jul 2018 16:43:26 +0200 (CEST) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0044.outbound.protection.outlook.com [104.47.37.44]) by dpdk.org (Postfix) with ESMTP id B242F1B458 for ; Tue, 10 Jul 2018 16:43:23 +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=qU2OFcESUHcVq0FNVZR7NYrX6LFEZQd6M7YupsVX0po=; b=ccCJGvzP/Y2JTlHbaekQfh78YmyfBbonsqCqKtJgiW1kybHrhycikJDgM2TKPHwkih41WbCRferhxe6XxIZmW+DnG9bIsSUWXlMlcHdwZtGpiSEVNhsxCflP3E0iDX4QBHEoZYGYSH2MheORPqICTYLtptY4ajlR/7cMwM9jHYw= 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 DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Tue, 10 Jul 2018 14:43:19 +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, 10 Jul 2018 20:12:37 +0530 Message-Id: <1531233760-4929-2-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1530712550-18099-1-git-send-email-anoob.joseph@caviumnetworks.com> <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR01CA0100.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::16) To DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ca8cf30c-49dc-46aa-7a13-08d5e6737c26 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600053)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4905; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 3:svlU3K9m58wIGXX9z6LIPqe8LbUrObHrzKQcit2b/Y7IJmdX6IgMRXKAkCFL2k7e+OWIrf9yiIbrvy7W0aKY38wVhkRA3xaQo8emDmGatBWUzQKbiSUoiSCoP38SmrAqaFY8vfassctGp/CVf0QjyG82eglmmi0znggD2VWOi8W9cyTxfvmirhvGby3XifG9iqMjNzKpUI0xK5BaGd1Ei+bvGd/6sBCmrQAd6JMyfnJmBKNkCueclrYeUdiTsBe+; 25:7FxC+uPUjrU/N3UkQdkL1H2f51F407VBa9hlBxFleSOX3QWjQhZV16tPlca4wn7TBIdRc4UHTl/sZKQNbXWBQZyvvfbpDm4DF6KK5VCb1fEjN3+TgSyjh/7B7GYC+fyqjDHWBIdkrgC+Xn/7tilM9ua6eswqW2XAMrARvvzKEuqHXp0D2XmJxURENZc6CrF1ME1kqCIVOTpAhMhh1jJU+8sqB0Q2IqOkt7Sq+5ZFNT4lplCZXQvLJ0LlEci9hLBTLPg3IhHKbAYoKzWjCpBGPq1EGq7a8RX2ILKUgiQJcX0sIdD19oMXHjhJ4g355zXlRUoB/wqM1gf9sACsbG5y2g==; 31:tir8pZTMyWmbyfJ57a48AP0SAD2aZMtYRX+6MG0uWUiV0SvIMvxRTKc6Ene1Omj4m0IbfB6n7HkXYIHZGUpoizPeHCsu4vhA55Ba6Sa+Jb/CtfWGcHoYfxsk0VjtJNuzuJl6ebEbR2xH4FO0zEDB1KqjBZg1p4pK6Kpl0g0pditwPEWU6H2lwbUPpkIATnXaLSFN8sxaZNnrdIpLW2AQkLpr8RbOjEb2jM+z9WWQxC4= X-MS-TrafficTypeDiagnostic: DM6PR07MB4905: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 20:UrXIplNavHAK6Q7t2VWaiOAlKnEc7bAaPm2LEnbsyggZCDWMjscKlYk9Xc2nbtG9rQY+HbGxJEF9YvazvFZsr7/nfwK76nBP5V75i+LEjIXliVpPcDVLno1YQpEMVIm0vvuqtI47J9KkA7TesThQ5PZKq0W3wDA63aLHNT2hdPIKkVvFQNJBoA59Js9uZrY5vjfyXdyc5LY9BqoOg5wFkVW6QD6f5xnqovZrdOnwQ3K3ghK0K9cvJ/WNCN60cH9hEDKKfP2Gt+hJP6DLciPhHHKlOZgzfkYdfO/9RA3bOKQuZThGpwdi6bsiHlxxgfSsaUPWv5AgLEiXxdRYkyhQq0O1CBpwA/n+qgZdEyIGQmTpt4Nephp8D9dOji8sM10LgKo0rojacrjAKQoO6eFhZNUhq9d6yTieNDHZX2nhncuNAJ7uSOWb716aS8lWes/BDzgM5Kq8imnHSoQ35BFq2pCgBKmQ+KVNaqrPuwdsW18/4nhghf8xwynoFRVsGRLdM/7JvXLIjYTVLOcPCSNnV9iJiJm7hER40ArWva/2Xrm2Hj+wmUS9m7R9GR7FsaR/ApEvePPzXF6QxrhyxIdRrEkSakNgYPlT6MQmmf0I+nE=; 4:mfFENL4OZUypxK833OKCN9ZYztUgatqZd5nqnFqnA98lhoiSZlZT0rVMjiav9MeUtvBC8baCRlhMfEfzx6OEoTGlDZdrxgUZ1xOGw91ACMxcljCl8meUCx+iaBzlmVCIqv6r1Ly3lmspsCZ0Eh6RjM5KdayLHkSGBzK/4qYRx6vTks6Salrn8hLP5L2j0kpTqK3A+IElNm3QTtGcOhzU+sI9bvP/Y9b4AhBFOzeMYsr2vX4ubgLTkjsksvTUY8hYjCjdR7aZobSyfHbUGRN/ZlF/4e1lXH5kTMeaIfTMxILQ5RfxG/20CHrzC40oE+b+ 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)(8121501046)(5005006)(10201501046)(93006095)(3002001)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:DM6PR07MB4905; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4905; X-Forefront-PRVS: 0729050452 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(376002)(346002)(39860400002)(396003)(366004)(199004)(189003)(14444005)(476003)(26005)(3846002)(16526019)(386003)(54906003)(55236004)(110136005)(2616005)(6506007)(186003)(16586007)(51416003)(6116002)(7736002)(478600001)(105586002)(25786009)(106356001)(305945005)(8676002)(81156014)(81166006)(575784001)(76176011)(44832011)(486006)(956004)(42882007)(68736007)(11346002)(446003)(52116002)(2906002)(316002)(50226002)(8936002)(6666003)(97736004)(5660300001)(50466002)(66066001)(72206003)(36756003)(6512007)(48376002)(6486002)(4326008)(53936002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4905; 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; DM6PR07MB4905; 23:tXtYplrerhC1p1X5Vt5W1aQqBeZWhN5qRuzcrR1X0?= 4zE1BYbGlBJCPTUImqtg0RVUUpXB1heh+9tBqd4Ixlc+XYQ6gEEu8Ey9+NHxA9NIgSqz0bGSPTDgu4KqQHH8kyT7G2BnwJvJfek1xTBheE87/9vIyVxDMd9KnjL7RLdoIDRoEu5+UqzdoEr1uypdQmFZrYENi/U+M8sxR1uBMtfjZiEz+qEMCiCZZvH8JJNJT/Vo6qyzmDqCwyVeEc5hZbtWhaU+9ETI/DhqovjMB1afB1yqpLDBm5oy0OUnZrHNMRC8rtLp4DupOFk+ni1QHKBWgQ8Gm4PWUViNCGWaO0vSJd52Zp27KMPjPYH7DvMLd2roUI4G10odPN29J4FTKlxXXqhOtKAelDCn4S5jLmRxq+0WZIiJg9kKCex0XPxFJAplUcRoVC/qJHpza/RXD+Fy8LYIgGlByAbixMRodGVT566JmN8xR7QtgVSvHBUSNPQLwTQItbH4YNvRPPvOpwNvU+xUnGxP8pxUKH9mKY7DlaRgI6X5HjC7UQeohoPcRv+FfuB4Y/E6mIK/y94irOyX0CnMY6I/7GQevf18rt9/Nq5TDX5ZxnntwzoWcj8YUjFPUVKr5A+pz01Itq+hwY0Eqrr3nmHKRufb8RkH3YEDve02oYaOUm7H/CfEPpfT5NpjMzi5A2Kku8IMLGcPTxrZK8SW8UUMRzAr251AFQ2fmKU1IGeutzgLl0XvJVHrg1ArVh+TxqqaXZJRcztXzK8gThWyZFu0YEiKP4WjVbVkx7RDE2L/LVav1lQRzMq+M/I1dHIyH1KlamKANpLPEgshtCH0k6AEUeyCjDCm21szZZCXqy3FWkCrlrxrsygEQ8lnW1wQZbajNN+tVHnUtQG61Hy9w1sI8eInbJcbMdqI25p28e0eB0sua5VHq4YpOJDMl0zUn+xgeCJylVeb7E5BmNQrLKP2IyliuC4qpyj8cKJf9tKH/0KFcFXiqzV/jgoHMqI9OKE8fTikAZommI0N4QFbjivbcFEwNvIGDu5dMX7R4z7m5svz78hSQhw5G6AvE1XSQy/cupSQUwy1ZJH/0ycStLPuDUtN7aj8NoXwKOwg/5sA51y7tJnPv+BtAor4wbrHffRdunNQe238fJIeg9afh6CXgNyPRIZq2gMkkpyxN9WjQrr5rPQQJqby543vjR9vSfYmPTT5Xrx25x6xOZX8awFtwM6B/qZ9cpH+cry/dL7DA3FO1nucw+IzC2Ke0MJCPesYi+Vo07x0mEjJCs2u/MeNFgDtMmsmCds6w== X-Microsoft-Antispam-Message-Info: y7ZvWLFKKQ8Yl3qTT1RB9Haf2Ss3xESSxY0yXO0+nlyi8ljN1xFY8lktmkx6WXUCAyFkNY+yFzgFBJdDO/745OBeVBWDJeb8s0QMKhswKG5rSTHWeaooI/RBpvw0cozdi4ecZh7NTftJg8gum22frfchpdk8ornoFugu6U+SiKl54wFkoJ1eY3gQ4PHAi83JXaF6wc/2DVvvQj4Z/ydFlpqtGS/D05F4+wMiIlmqru+T5gLBnuZLQdJzedc60VmGJC6mo8GD1DK2LHvFr0k4+tvCH28Tjgf2v5ef85Na3fM96Hvd8SzGFuxukVLZ38GmdeBX2SRRKWRUbNWepxToUQvj4dSGIFufLvuEDhaLlMc= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 6:kLQaK9pSoRWsgGme5xQDp//Ek+mDGmmn3DtHhW+piHA7OzD0j193HLL+8Uzk+ADrOnsGfFVPwdiO5y8WVWBI9KGk4EpAFudjeobhnbB3kQnj46448rrp3aYlIBjtU3N2/1Yxwnwb9hOE2LXHtNawyivetSn0t4Ke8hxMxsJRJcc0K3ZN0RUhBsopTEh01A1NKu2NgMMJxz9OYKo2QI5U1CCyHvU9n5Z/GeF8vfYywMQQfzHXAsT9Wvt44ad+2Tn6OqpvpwG2e259qz4odndavTHzY++bfWiPJe8QO5lP2ktgQ2bBUG5n8zbATdhf77hRioqR7bAEpwfcPCi21CCtZq0BG1a54IDLr9mPawSIQZbUTFfioeJyiLqzM/BptCorweGF8+tRU2hYuWdgLH+2VqVnOHF/jUhpYQ8Ay+aJO6opjHAgR5UZEs6JXU5QN2vq3FDEFVLJY8fZQ5glg8SIug==; 5:rgEQ8wmj2Jhro5E/46h24l1hzFOX7FbbI7mVsp5U4tOb1UV9T9pSbcpC3bdtYyqNVCQN6HFAGUrjUktQlZsOLfPMa31cMtK38QBDrjlMBhYgaSs56XFwtOvGbnRYvHtVP+bhe4SDtWWWdu+1AmjdZYqoZa8C1SN9i1qyWRHpPkw=; 24:KpbM2eP8sIMDksVC9l+qIJBCXEusk7vPDTo5kO7pcP14mSI+DS/uIQx09DHG0jvuyTMXTtbs1lOeqVumLTlrJcGrJMo0Ka5HKS1bHyf9a2M= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 7:J2mak/c9bxAv+hLsqSunntvFgM1a1hIuMcR3/S9P9NUetFcQBqFiJqzY8d1klQUO6mebXevdhgJMbcGkXgS2sVHgmW/T0TQoNtn2htiIFdTon8MHQ+4xTamND/L3iaLiH03lK/enQyBkQwomO2ffMifX1dXe2JdRXiSJri76Qmka3p+wADq3PDxKI5N+HXDORMx1or4jefzAW5TmMuZG05M4fHiX/Z02HT55ntbn4VcGbhTs1ERo+LrRmAHxpchd X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2018 14:43:19.5067 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ca8cf30c-49dc-46aa-7a13-08d5e6737c26 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4905 Subject: [dpdk-dev] [PATCH v2 1/4] 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 --- v2: * No change v1: * Removed deprecation notice * Updated release note * Renamed new fields to have 'mbuf' in the name * Changed the type of new fields to uint16_t (instead of uint32_t) doc/guides/rel_notes/release_18_08.rst | 6 ++++++ lib/librte_cryptodev/rte_cryptodev.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst index 5bc23c5..fae0d26 100644 --- a/doc/guides/rel_notes/release_18_08.rst +++ b/doc/guides/rel_notes/release_18_08.rst @@ -70,6 +70,12 @@ ABI Changes Also, make sure to start the actual text at the margin. ========================================================= +* cryptodev: Additional fields in rte_cryptodev_info. + + Two new fields of type ``uint16_t`` added in ``rte_cryptodev_info`` + structure: ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``. These + parameters specify the recommended headroom and tailroom for mbufs to be + processed by the PMD. Removed Items ------------- diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 92ce6d4..4e5b5b4 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. */ + uint16_t min_mbuf_headroom_req; + /**< Minimum mbuf headroom required by device */ + + uint16_t min_mbuf_tailroom_req; + /**< Minimum mbuf tailroom required by device */ + struct { unsigned max_nb_sessions; /**< Maximum number of sessions supported by device. */ From patchwork Tue Jul 10 14:42:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 42714 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 1ACA01B478; Tue, 10 Jul 2018 16:43:29 +0200 (CEST) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0061.outbound.protection.outlook.com [104.47.37.61]) by dpdk.org (Postfix) with ESMTP id C962D1B474 for ; Tue, 10 Jul 2018 16:43:26 +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=j1ovcAwD557zSq09q554pgKWixGxgL1cWirU10QOr2Y=; b=m+vDyLLl9Nstt/M0wW6e3UYhxiBoidARohV308cqU31xZ4bJe1bRIM428QuZG/8PNHz6fT+WPQLPjfGDDGiyq2Es5ZzaCJR7rOVOG8z+JAH5fe/oldDWONjV4CxwjcNKNTIWjBGZrSfezXoS2OPc2IqK1bVVnaoGpZVd5wpvl7k= 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 DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Tue, 10 Jul 2018 14:43:22 +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, 10 Jul 2018 20:12:38 +0530 Message-Id: <1531233760-4929-3-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1530712550-18099-1-git-send-email-anoob.joseph@caviumnetworks.com> <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR01CA0100.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::16) To DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bcd1f266-3bbf-424c-9ed2-08d5e6737e11 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600053)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4905; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 3:SV/JPxKZS31hQ0cB0FmlSQQ8SOOkUVgHtxqkgCCsRuGAvFRjsxDzZuj8p39IztzubvJXIuxLGTT/VtcmnlHWoyeTQurkJ2SlB9XbGOmw/ez/X6/q3HL2BBetWjamG3McVjAk7fWIuqrhKrf3gN/Jfc6jm3uIHHNXBINGYafuEA4KBheUpFdzDzkjmfnOl/dDhbaitPs/NrnYskReTn/xMLPmUnkXcB9GEI6PL6kEsoFhuataD3bsRTIW6eyqb59T; 25:MAcXgRNB1xyMly1QP45M13UyxpV1XvIi7MW/InVuZ+qQ0Dq1Karg2uaDL90jIpmjzal2T1PqI++na9+Vz21DI2YihDpepvmZClmTs5TRNnl+8oXopWAh5ZMjxK13tIQQDBXPfkxpChTkYqzY4gYwgSNqA7DulhFXV6Ky/o1t/vc2GFtolmUNiPJmk+zWDocHeIxo5Sktu8dilbc7TAEwtVQBZqHT390HpKZoaXi7CsRCoOVxfgO76a71B/1/vTTN1NPI4oS6ksoJzoZJdY3TrZo29BQiI3iX+IiEDjWicl6WNW1s81HZNrVWOAq9lHfjF59hrDP03hHcRNwGrSkPFg==; 31:XSDAlSyFFEqS3Evo0zupgjwd0ncEwX5HiyqEWsURcMbW00zsyNKKJRO9DXQA65+a4sx18V8hFKFYDR1uxOrCRzforlXyAK8Z/T34kFNEDrzZqOANkp3di6W0jvtf7DdbQQiaMFGWmWNDMVjtfrqcHCEaKyL+sfcQcxJax4r3m+xt8AJcoWls+NOBzCpjskoHUJ50ef3UPHS7VCsuEfyruEPBADmIZfDSFpEB0UvJMx0= X-MS-TrafficTypeDiagnostic: DM6PR07MB4905: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 20:D7nTtB6XlunKkgOJqaQzk42z6D9CFWqLTTPH4Qb5MOvv6TZ6UpCXNaUNlJXNmkmhm7RBHQewg747Kr/jvu93OwyiDvMB6f0J7fxrvTryS46rEXXkByqRP/neNXo6+V3kO7Gzy40jd2fKoVpooWOD2d5z/lXYv4njE4Z9ehK0BIGfCZATTOJfOqLFLa4TIrAABNPxcf/aq050j3T893RpHCbeHaHH2+mM5d42xE0FmybztHLwFwuUx7G6zZvCERGq0s4++A/ir2YsqTv3ZNw9Jq/lsyr/MfsvJ98beBIuLRZZzk6cJ4cmBZAh2I96B9GayiNL2PrfBsg4iXHUvLRuSSy6qYL0pJ5SkUXwlm7jLCrEDEbzOHcKi25oBXtQbA701AY7n59sc2X+FcpcIGCPVv40RE91hfponeGP5WG0vO/+thQzFnq4IBKXEoicr/kTsJhkqRLE0W6oEfitdViTJ3Ei8b5nQQuZcQN23jWPsiPdnavGPsoE2X1ehVdavDtaTHcnsrX7krWhwqa9479NUcCRB6wUJ6sylitUZuYiiX73USkrUiHRsjeWa59in4aofRUnYlSiW1PeFfk7Tt7rVZH4qmvzDeQe2o4MZ+uTSlo=; 4:Hfowzj9+TKYdWAwayVj6wk7sHZRrWn1uc7Uw0s7e59zD/60pkmlCLCMm856D+xZUnpSewO+n/odZJhSTzo+ik2Gdmwa1ceiDoyP6/yxFFob224XqBV0hTQH6mMuzz4qlR89Hy5HgT3rIDFIA1mwlfkvMzkYK/1iZfnTjfSJvYklqX/IYvAaotioen/6dXWZYK1NuSVrQpZZ38PkzO80TXxTc4j67o2VMk2uV92uBYYTIm0Y9D6cZLKtzoN5DXKkY5oCc8aNuIktMoEDwnReROQ== 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)(8121501046)(5005006)(10201501046)(93006095)(3002001)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:DM6PR07MB4905; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4905; X-Forefront-PRVS: 0729050452 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(376002)(346002)(39860400002)(396003)(366004)(199004)(189003)(14444005)(476003)(26005)(3846002)(16526019)(386003)(54906003)(55236004)(110136005)(2616005)(6506007)(186003)(16586007)(51416003)(6116002)(7736002)(478600001)(105586002)(25786009)(106356001)(305945005)(8676002)(81156014)(81166006)(76176011)(44832011)(486006)(956004)(42882007)(68736007)(11346002)(446003)(52116002)(2906002)(316002)(50226002)(8936002)(6666003)(97736004)(5660300001)(50466002)(66066001)(72206003)(36756003)(6512007)(48376002)(6486002)(4326008)(53936002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4905; 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; DM6PR07MB4905; 23:223FezRBPzPnNW84g/S4abgFhQygVXDXZ70xN9Ryn?= bELpMIChSyOO37oxyQKwyg/UNuRDMBtG4zch46Jl18One2u6zV0faZpO+CD6tMumDKCsEDEldOcj8mBRzPEH1RR5VmVN4neUQjOxcSli6LYciAnRoJNPvMCXvb+wBvg0s38u8op+gmGHyE5d1scCMWScAm3eGWhcOBFZnBIYcfqvZ3og7acelZBk6ydiOL6B0xFuzhW1cwff5R4Ed0pcvCBjhGM24EbJBmVNXbrZS9cYxNV49J0l4/1kxhVMnm0HbT59B3cR+xoYq5dcWEqZBfSvd7gFZhlJ+KRBP6rq2yYIFKknct+9UKGiz4rHojnrHL37woawFobd76tcIRTOvrPPzHHqXWIyycEqO001rgsZelSstpcXB9PsRoMLSulSUjajB7zaE3FFDYa5KTAfjeGb8WYrm7puuqANoirEQ16PW9xdtm/kCU5wyVgtYj/gZ8V6ph7Ha1hPHij1nFhAr4F2c4SgnOk14GuhUAbF7i+9SCpq9ZloGS7/3sb77zyrxHER441h/MLnEGAEKsWLdVSnAPHQRv2DkUZkPZKthDSUNRTU+kja9kadWp/p0MmoOQzGMN7ZyZAPBCSOYU8ZYLyscHKoYCg56jMIKXFsQ/HMUWu7twhEJzkf9O08+1O7qjZc8fk5hdM/JUcU8ilAKy5Z3XOGN1CgqlO/bWlBsJGAYgBOC8cpZ8cw7jeQZsePxakjsJ6xfPFZ+o9cysI77i5cpWL1aC81YLiyHprH4cN/bNv852IyT3F9tZ27JX4TRKvWJPE1OgpOfIy554rMno1Q3KBBmrlbde0Ci/3x0zcmqMfkYlxgQxL7rHsz1KQpIt40KZKQ495WnW17LB963gzEsvHcQlHusArEcRUgNdLzor2ND82w3ZLydFGHDCJ2y3LJpaEXeb3oqQPcK7Gp+dsC0ijxQvJBh8KnU/qLmiWQWa5eBXf/gqU5dHmWhvX003mP9mt2ndo/qMVgR6pwitGxmw0TH91C4c0dDGYcKvYaO3t2HQyglyjALaSsUm1saeNEZHqHyMrBbUi5rmR9rnwYNx4uqKOe9l2R8N2zTFP0hnSG2uew11R9IXgAfN7tMHNXO7+FE/Wb3tKgsb0K/xzk3FUBp/MCcupF08LsK2MAdQle0GMJs8JE4GN3/hv167/eCexUg6zp/SudZQ+dZNDCMZ3BL86QJRTzD2gGzFSGOZet3paoy6+v0xAi/EGBmZs6IvMx/fnEiEg2wY4bstQ X-Microsoft-Antispam-Message-Info: t4oJIkbAFo+2caNlLRQRzrJOyMxewpWXx/orxBceJhMkqQZE8tr3C9VuH7hR7a2PUtm50e/bLqRgdPA5MSR2oCW5/nPr5/Bv/YWo8jWENN2EMN+oQyWXQa7qiBbt/+UHzcfP2AQelUdIm0Re4y4yfx2zGWg0sqTNXzkuvLjUac7kaPY9I6055jmgI0TWVm6t+wmlcuArIDoShY07PGfUXuNxsYWWSLs32KX+kBaBICHBjvA7tUme4xhv5b1OhNWs+h4mb3QESaHrNWa3zxJYN9qQmwyJ5bxMkeeqGNTU20bMRkqpJuhxjAaSHpzUBbvwuVPK2amIswFR/IB2be8QS96CxjSAGH3QL8fgHHRzAzE= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 6:EjFeTB7gz4KrNLqQNzHAnPcfgt4zJ41SazxVdsGag/2CCgE8EmkYzBH50aYnKp6FESE2BgiUJ7W6pXBnqWgcPIEAsEniG/H/kT30aS5NwcOxs8Vq5IU3eFpSC1e847ztiuZvA0EmUQ8FrZsMt2B47Ppq9MHIPeVjRHQTOnQzoi+y3g4ji1IQV5zlbqnJ6KHaG4cQiPNbLgkdYmB0iy12A/+oiJJLCaaXjvlRhAOfOC/TQ4EHrA3rnJD36SyEXZY2tAG6/yFhkugcu7vafiY+ZiEw/AY29LyNJaThoydPYh9I8QEIDuxh+jZCfDUBZgXB9KEyT5MPEi6YlLEikPUmdaIjeZaMYzjSrXWPH/oDrjPy3k0FDnF7Fl+lYBd/sm+eHNFMwQFCKKanyUxUUeMvTiub8nL6dnIToLB/tDuvLyhVYGLu9GxQ7oeQ3ubN5Ut/HCSmIkaFTw66KjdCITfo0A==; 5:yOXCsPomIVZ6yHWWEXR3yZmU4ev/vBNVBM0+52FSApGCsbUU5En/Ciqu4skvJIOUkJD9dUa54Ec+bE+ziZ0KdZd7m13EhKVmjTsUYpslNbMowPRK+nEVZOKaai3dcGxJiUyJEzy8LCTFEOLEoGstU9AbcL2jhpQEWn+Ro5Ly4Rs=; 24:MNSpwEj3xVk7z0CNxwKMPBRzQL/9K+Afep0BsFdxgTCmrROSbXR3nwcgfThGCiBGhXzdK9YsWZdTE5VlX77M5xiEjbWyZbkBoLXqiJ1mNk0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 7:ElSQAraiK1/eEvkAhzhqeyFjtPrFsu+tCNHB/V+lXd9/Do2nvI7XOOvSY74+3h6A6YfaRhQbjHp6nASqZlt+lU17JWQ2HxbnaEh7Lx4Cvb6pQp/sEmIcJMev0HTHurpEBRQM5dplIpUWA02frSfgEOcvEIPdJ4hQQXpXV4Q6DH0GXuMm7hMcM3m9SXfWVgTDz73CzlMlX3hjkx9IiUM9gGLT0Y/16ZV6rjjyR7P62qvVCyNB/zp4/2TmxieBMPui X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2018 14:43:22.7254 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bcd1f266-3bbf-424c-9ed2-08d5e6737e11 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4905 Subject: [dpdk-dev] [PATCH v2 2/4] 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 --- v2: * No change v1: * Accomodated the name change of new fields 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..2c46525 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_mbuf_headroom_req) { + /* Update headroom */ + opts->headroom_sz = cdev_info.min_mbuf_headroom_req; + } + if (opts->tailroom_sz < cdev_info.min_mbuf_tailroom_req) { + /* Update tailroom */ + opts->tailroom_sz = cdev_info.min_mbuf_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; From patchwork Tue Jul 10 14:42:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 42716 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 D9E251B489; Tue, 10 Jul 2018 16:44:51 +0200 (CEST) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0043.outbound.protection.outlook.com [104.47.37.43]) by dpdk.org (Postfix) with ESMTP id 3D91B1B471 for ; Tue, 10 Jul 2018 16:44:48 +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=3V90duVWUjeZRbx2CVdbA1TGmYL+WXo9G9dL7Dgo3xU=; b=dY6IYC1ENXUyGazOYXDoDkGlDcMFrAsdSus4U2tW3FxbL2nTghQvAwx5QjaaylVi8taJ2InLYdmBdG0FGyb70ZAyoHE2vYkB1+bgXN0+opeQnSIjTkEnEu3HouA54Zdvzv5LDqziLR3o1i4bqLCznlxta6v7PnIXreTWTvXOEwY= 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 DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Tue, 10 Jul 2018 14:43:25 +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, 10 Jul 2018 20:12:39 +0530 Message-Id: <1531233760-4929-4-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1530712550-18099-1-git-send-email-anoob.joseph@caviumnetworks.com> <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR01CA0100.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::16) To DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a732149a-cec9-4a80-c39f-08d5e6737ffc X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600053)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4905; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 3:i4fqvzcfPkvNPt35LEVMpHPdy39I0yM5QfiqeeLWbxQn4t8QC26PQ8WSwdEEdHEf5BoidAG7g2+DqNXga0bYxzvD+nIsyT055LlLG76bNY6bfn5XkSqHfMtbTZw/8PA+Bw8NF3co+VrvbpdAIuow0UoDbA++pu2x49RKI3vOd19heT1fudrSv3DtGnhHdaIAfSLvOS1RyeSCvr2w1Sm+00uiePBj72RaEzJjt9LQPj7czvCp2soFarEk2J4pvMfX; 25:MqzT9Fh14rj4h5sNbccEYdRHaHESWCWBqirI8KjZto8IhL0Ax4T73tU9WrxZJDsjbK3qH0TGvbrodKEGAIZVW7hmagSER+LclrXqLb+07GDWSJHyTmouSzulA+ywSJsHghnGSjv93DhRDZIR/bLh3jL+pIVaDLJij9qGL4W7xpcdUfTDGzPenZ6JKWLsai4PrXjyxan/1PXjyEgAgOPA7DPtjFG3UUINjLqkY6mRdJXA2guDI97Ihh9/mHLlRlcHWo8OKaxFvQ6ZyG/1TmwlS9ix3gLaMhGttWNcJY3i1ZixkgtNCfSEtJc3QX1A1Hcrk6devUQaThRt0k4MBQliQw==; 31:5eT4mR2VLDVmAGO9aDqliHgtR7NscF/ZYlSdE8lrmnbCudmlYbPeVpulqOIbaTbAZnWBH2B29tAT/e0xW97HuMgFPq2GavEGgk/E4fbAWyKWSXrz+NegI3tCZxgnTKbHfVVFMh20JLJrVEcLj0y3Iu37XIlf0efDlbEIUvPRbpUGS/62BX+Tth+CrBALUSOBqiDJFMFHGMxcZ5hXvrR2+FPZBx3Tc/y/+GV4k89LHdI= X-MS-TrafficTypeDiagnostic: DM6PR07MB4905: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 20:dRkuaWkMyeiwZPB8GYwTt6cO06xiOb4dwJdYVVmLL2ayRH/OX8ZglJf8CTfwNbw74u+dkPfrYW7nD4qo0BUeyvvNk5HXcAYDYS+JZnOhsPemm2zCEy94ARLi1FbHl+HZllQAvUb2bJF5USmMnesss9eINEnev3y9r/ICPz+zUTEkhwWoWWVlWmPkS6XDfOveWRuIqfjHsAGruD4QaUp5A20W220oZ/JRERTPwF+HPtxGzbcgrkeabRbIah/BwqwnyyhL7QWPmVSlChzm9P/IzSqrpPbFMULsVFj+KW4+oJuMxFrN10ZY6n06sqpFJIxhb8kQWPYxzM0g7IU6jziWy5vbYCqxuSyIVTVy9IOAO/uQpb9AFtKvNXc2muW1Hd1Nf299AwpG2kcR65cWBSlduJ3UR+mwtDEGcHmNLZs+Xi2PEv19vfEUUm9ZzkOenOTbiuTgVGFXEPOvrnO4NCQJRx49qbWwVBGxCUH8Jo1YaGwiA15VCZCjRGE5eBgBPOSI5fILp/n/qvzr02YMmzncT50rcIzFxpzFM59DgCb11fj1Fu54hSnsNe+BjOVGS7KxVbRlKxWvUI5vnUnzvkPGYVgMgyVvjJlt6SOs6u99XQE=; 4:C0gkReACpgoB6qiJmuzPogVz4QNon0c1iJFh9HTBSIYuc0WfhCIutLPtL2fjUhtu5bdAyIus1y8dOkwb7AdT1l/fT9FKrdduN42br6/4jvpcSgz31DJka6xQ5Ug88NR5clhDHAs0HBrHRC3y3r627j80hde31eR1jNxiIf0B3+c3tDQr5IPKtaHzDyQPr32KfBtF6r7InNNHJSdzrM37Je5o/mum0c8MDuFs7abVyESIsrLx4E4yFKYkAFEkawM+xK8QJN2nIazHYZYaNbxKjw== 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)(8121501046)(5005006)(10201501046)(93006095)(3002001)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:DM6PR07MB4905; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4905; X-Forefront-PRVS: 0729050452 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(376002)(346002)(39860400002)(396003)(366004)(199004)(189003)(14444005)(476003)(26005)(3846002)(16526019)(386003)(54906003)(55236004)(110136005)(2616005)(6506007)(186003)(16586007)(51416003)(6116002)(7736002)(478600001)(105586002)(25786009)(106356001)(305945005)(8676002)(81156014)(81166006)(575784001)(76176011)(44832011)(486006)(956004)(42882007)(68736007)(11346002)(446003)(52116002)(2906002)(316002)(50226002)(8936002)(6666003)(97736004)(5660300001)(50466002)(66066001)(72206003)(36756003)(6512007)(48376002)(6486002)(4326008)(53936002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4905; 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; DM6PR07MB4905; 23:+GvSxRixkWJ7E0gpnnPhdrtgajnOWvPCRvvCzDlUX?= 3H8CDc8Z8dIPIXHyfJ1PT7GdHmPg0DKgS2foCxW9syDymJ6EngmUNlNpP6fVTNE5fnfeFmN4T334W4V1INv0RPEbEDDicL8Cc5Xxa1ymtp92a+zHFI3n+c5Hvwr5D+dHbbXkkGLRP2bNt+r10cPMrfpNWfgPqM9z7/NXOn7Okr851JSy9XcPJDA0U2l6ABI94lAML3AWep2reVqedf0W07uUrePWT9zq+m0pMO+KnBYT3IGHhkxKSPQ7I0RkT9RyzcrnfzcXO+NYHqmWK+39x+xqUmziqdMSPxlIBKTbbvOBRohlRmoZ2YuIHChvgxLp3somlmKLt2UieRjqQ2EkqWYE8sOg54lXnn6IVLuYL3PJtELfeqVQxhc4KbVftv6lK+6DAqFH7rs18om8XMuJZfG1Z3sQ2ZdWkBLTSnnWjGVr8CVJGka8pCic9SX/aLrJ+Zgojib+Sl++yr6Cyc3vkd6Qk0vw0BfXfKjEEFjvVWZkRRL/TzhWSj4doomVDm3cjhjJ8L1sUFL8ABXgiRvOkn2ToHe5Tp4Lks9Fr7KTrxcNc80lAjmjo87kmVpzIIq7BQ4o9oiVlnAww9fx+F5C6yoLOQIKircf0WmzCR85zLU4x/lDKz7+MbWnpL2Jg7OhXYKJ53lDcEaEv24YkpjDopdqrnx/JeL6S8zlNGiLtablOoJ2/40cphf5mGH7E3BxuZp4CzQDjHcl29LEi/nwwEYCknQf248DeSQMGZSqWZ4Uo2XCl8QXBI5vBr7nRX7eNfhUMSQli0Jpa0jONaM6V1naoKFTUM5V3thUuuPf4DDxACvA5aX7P2JjAw2UE+uewERMCRq82CtCg+LqdsrEgbuz5v6AgzRbL249s4dfFLexzXfUwWtLMsb2gGnu6bENAqh3ZFmEOHHeBMTOb/Fcq62unJYOtdsnDnN1/m5sm7J+525glUzBWxImxsCIUecGIMQ3OX8+waHNrUCEUCsoBM2j5HJwt7yl3FeNMv0fF8/eESf6BsTp6XBvQyPJWLqMnzSO0Nevc4gK1FHd/J8kcQ3iVdt3Lsu15xG1ohCWhQoNxI4wWWAzl/inifzbFHHNGrnwPfHGQSAJQaMGLrHgWLFjeMJfcDcGfEq7GMCzcqn+5wjbO96PosScIf/PzOu98fswryRT/nV6JF3WifMp0LY9RGhbyqODkmkDi7kX8fPvispQh6rSe82NqwF91A9ZjmlQgLIJpgd9vW5alLgdR6Bn9caIouMkehREGfI0xKoWA== X-Microsoft-Antispam-Message-Info: KRzqvFKBtkBo/WRQMUWVxy9e29IYj3mffRVCpMuThUkOQDJkhpG/RDJcoaVWKnWfutUDma7oGKrbzv2MWtyLIN/Us8WmNZLy6nEuQcZ2AcHR7qN79kfhGEqp0+K4uCUdAVPoo9uqIS657EbmoRu5KjgZSbqDQQm0SjP8KxTmzgFL5axZUdU2tW8xIG4ISKkd3iDGJP3eN85IpA2UbBVvAyTMLiAOyzCyqCtbVyM0LQdzpvTpip2eAIBfo5oMGp9/wmw9e56sFAl+0MLcRwmIozDc8KWlcE+mqBw9kRharLa0JuPqA7wPI444XDiJKMA8BqmblvpRt++zAj5kvWeE/IlyGEBEjSeJguf0lRPCzKk= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 6:FG3/amtFegluRb2gIP9Rc04Dnixy2CHypekY8IXFh2LN+aoXnUvyxiXDnAHQ94EW7cOHj9fFE64z1cUpDRmW+6dgjJ4vmyAMxn/a726LoqBWWO3vRWV34dS2bL156Zvxpva50nyYQlLSZH9QFKguXBjixggg3PvuSYZTOl7D8cVonwbM5AlfFtckDCeCF9zgHL9duqbIJ5L+mLjmxjD7mRHzzWhRBhuiogCm++ZtBIQoJBlJC6O1s5pvaQSbRHNZ3UMYJuJB3mRdvMYOvTNCsukB1w0SkF15SKrFmHUTS9uOyqzuBjJv0dQXHob7qYJb2XDVxqY4JTGKMvEKNzhjZLYfm4E877oTzqUbISC9oRCJlWBKK7R5RLDD0UO5VpeE/rj2OXg7kCo1puauzsjWAmbjcrSynnJ8J79WY+bdgrSsVJVYwWag+fnTvt8BO0hgYeK3RM+/oLBKUSdsks4yfA==; 5:v/IhwvoLv50TqliJ9VC1ou8un/1MBpt9ex5bf/zqAwba6k+2H2B28r100O+39FJ8t9kknKdgPZb9wamFI3n7XT4AnfxurqHT7qwR94fuU6AmfEmp2fWaC9UjnI1N0CQwOMi1JDWK21Wo9sg3uZa7PtESlEJ7MuE5Tx2wo4ce5X4=; 24:TokeAPK+CvOr/+ZF9q0khNYjkE8ee3l8wFJiwatPNq9Enam6NLeuWb2GBhaodigj1f5/Al2KPyJ26MhREcygRRbL2TRkTrnmg71ab9Zz8wE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 7:ps0w+AytAgSidowFJKLiavOYlWXPH/EAS1oIPX39Fi74zYU+CLn9MVje4swu3bgfovVBwymyD38RvLx+0ZnIx7vxRXR1ne5qgehfQR3TDHLYMXVv09+ungALD2Sgtmxz7UdY5H1jWbY02DDZuIEhNYZDkv3v7aew7TSRDKvnLxfsKHf5OIakqcnKZzp9bNFTkpbMa1y188aA6RnehHMrEOxAWMdDDK7LIVzPxOxhsu07OsVjzVAiFQH10ptRSoqe X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2018 14:43:25.9129 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a732149a-cec9-4a80-c39f-08d5e6737ffc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4905 Subject: [dpdk-dev] [PATCH v2 3/4] test/crypto: skip validation of head/tailroom used by PMD 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 PMDs would specify the head/tailroom it would use while processing the crypto requests. This need to be considered while verifying buffers processed by crypto PMDs. Signed-off-by: Anoob Joseph --- v2: * No change v1: * Added patch test/test/test_cryptodev_blockcipher.c | 60 ++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/test/test/test_cryptodev_blockcipher.c b/test/test/test_cryptodev_blockcipher.c index 256a7da..c64b0c1 100644 --- a/test/test/test_cryptodev_blockcipher.c +++ b/test/test/test_cryptodev_blockcipher.c @@ -75,8 +75,9 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t, int nb_segs = 1; + rte_cryptodev_info_get(dev_id, &dev_info); + if (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_SG) { - rte_cryptodev_info_get(dev_id, &dev_info); if (!(dev_info.feature_flags & RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER)) { printf("Device doesn't support scatter-gather. " @@ -438,11 +439,34 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t, uint8_t value; uint32_t head_unchanged_len, changed_len = 0; uint32_t i; + uint32_t hdroom_used = 0, tlroom_used = 0; + uint32_t hdroom = 0; mbuf = sym_op->m_src; + /* + * Crypto PMDs specify the headroom & tailroom it would use + * when processing the crypto operation. PMD is free to modify + * this space, and so the verification check should skip that + * block. + */ + hdroom_used = dev_info.min_mbuf_headroom_req; + tlroom_used = dev_info.min_mbuf_tailroom_req; + + /* Get headroom */ + hdroom = rte_pktmbuf_headroom(mbuf); + head_unchanged_len = mbuf->buf_len; for (i = 0; i < mbuf->buf_len; i++) { + + /* Skip headroom used by PMD */ + if (i == hdroom - hdroom_used) + i += hdroom_used; + + /* Skip tailroom used by PMD */ + if (i == (hdroom + mbuf->data_len)) + i += tlroom_used; + value = *((uint8_t *)(mbuf->buf_addr)+i); if (value != tmp_src_buf[i]) { snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN, @@ -455,14 +479,13 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t, mbuf = sym_op->m_dst; if (t->op_mask & BLOCKCIPHER_TEST_OP_AUTH) { - head_unchanged_len = rte_pktmbuf_headroom(mbuf) + - sym_op->auth.data.offset; + head_unchanged_len = hdroom + sym_op->auth.data.offset; changed_len = sym_op->auth.data.length; if (t->op_mask & BLOCKCIPHER_TEST_OP_AUTH_GEN) changed_len += digest_len; } else { /* cipher-only */ - head_unchanged_len = rte_pktmbuf_headroom(mbuf) + + head_unchanged_len = hdroom + sym_op->cipher.data.offset; changed_len = sym_op->cipher.data.length; } @@ -486,15 +509,30 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t, uint8_t value; uint32_t head_unchanged_len = 0, changed_len = 0; uint32_t i; + uint32_t hdroom_used = 0, tlroom_used = 0; + uint32_t hdroom = 0; + + /* + * Crypto PMDs specify the headroom & tailroom it would use + * when processing the crypto operation. PMD is free to modify + * this space, and so the verification check should skip that + * block. + */ + hdroom_used = dev_info.min_mbuf_headroom_req; + tlroom_used = dev_info.min_mbuf_tailroom_req; mbuf = sym_op->m_src; + + /* Get headroom */ + hdroom = rte_pktmbuf_headroom(mbuf); + if (t->op_mask & BLOCKCIPHER_TEST_OP_CIPHER) { - head_unchanged_len = rte_pktmbuf_headroom(mbuf) + + head_unchanged_len = hdroom + sym_op->cipher.data.offset; changed_len = sym_op->cipher.data.length; } else { /* auth-only */ - head_unchanged_len = rte_pktmbuf_headroom(mbuf) + + head_unchanged_len = hdroom + sym_op->auth.data.offset + sym_op->auth.data.length; changed_len = 0; @@ -504,8 +542,18 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t, changed_len += digest_len; for (i = 0; i < mbuf->buf_len; i++) { + + /* Skip headroom used by PMD */ + if (i == hdroom - hdroom_used) + i += hdroom_used; + if (i == head_unchanged_len) i += changed_len; + + /* Skip tailroom used by PMD */ + if (i == (hdroom + mbuf->data_len)) + i += tlroom_used; + value = *((uint8_t *)(mbuf->buf_addr)+i); if (value != tmp_src_buf[i]) { snprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN, From patchwork Tue Jul 10 14:42:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anoob Joseph X-Patchwork-Id: 42715 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 C2AA51B471; Tue, 10 Jul 2018 16:44:49 +0200 (CEST) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0043.outbound.protection.outlook.com [104.47.37.43]) by dpdk.org (Postfix) with ESMTP id A96181B43E for ; Tue, 10 Jul 2018 16:44:47 +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=Tyowe42DaP2S9QAgHyAj//nVouH8ZYi4V5tGtaSRIg8=; b=JFY7e6GrV/fAPDyDuEOwqI9y5lvKBorHFNgoSoiFt8A7XdNfFXeGkTdfZKR21n02FuCJ70BpEInZBEdBIyky2UkPRs9Owrp4AkDva5180jgWHniTHHOhTbcH7cOOk8s9OMPvnJ0rZYWor6ayjDhsAzTJe7zz4eR2hFgmMfT+sv4= 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 DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Tue, 10 Jul 2018 14:43:29 +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, 10 Jul 2018 20:12:40 +0530 Message-Id: <1531233760-4929-5-git-send-email-anoob.joseph@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> References: <1530712550-18099-1-git-send-email-anoob.joseph@caviumnetworks.com> <1531233760-4929-1-git-send-email-anoob.joseph@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR01CA0100.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::16) To DM6PR07MB4905.namprd07.prod.outlook.com (2603:10b6:5:a3::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d0fbc7e9-28f5-4a43-0f98-08d5e67381ef X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600053)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4905; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 3:cnXrwDp0I6I22RENxZ9mqKyPeTaOnx+E/dvawBEae3Micu2973wcwVfGiQVGr/tsQJMD0Sz+54BSZl0i4dKBF4SflHie0Q34xWVhJhsPWFukAznE+S9qYs3qJEt9HBpJcb1XPR54ze9P9zBlNAs6JgiR92qSuVYKw4smzQu/HGvBvLzN5GpQGKGZbI8Iw+3dbkyugKjtmKVr2rGVp/y+6VwPeHwMXAtzuZcafJpRPo0w1j8U2DNLYbxIVeVIR0HF; 25:da/s9Bnqki16FRaQ2RmHsGKn25twBseQcD6GM2rZRdjQZC1017V99pYo7AnqPHbuLlNDm4oC91xcZ4DZF0lRNoQF0+S6J447cfPANHuPBWUM0mrjsZHeVYK7IZ9CR+nZu9YoG3sSxY+kOKTUNMb8+NoVZjcYVoqXbAxCrfaVQgcPOZh9fUOdcuIAGZLJpuEPwOwwNqtYDyp8UVAMLy2dW4HvDbpQRJW2htybP/kyGmcF+6axqYGmH48Y++lydekH7skK8iG/jp4jwHoWN4PvfDORlcFuSOIiH7ycMtklho7Ooo5ZUABL/ihU/kwF9yEudC7NWvN44nSBtAd6CT4wpQ==; 31:Z70EWXVS80l5dWNg1n8lj1HAa8aToLh0LXoZZTYeS1dMRH/gstcnlKyHpQcgb8k05h9hZoRBaYSBc7g9TR/486eGKpdOrFr9o1M3mUUV4EaykH3a4G8S0hgTNjf+fiHwmrw4t/a2N2SkrIXiVI0/2oegVQi+TdJA9Mf0WpsM93Y/Y99YmkJrHa5Me735D9GbzVUcMDFgMM7uFkZdKKDr8h+T3ZMIsKqT+xFsojz/4Wg= X-MS-TrafficTypeDiagnostic: DM6PR07MB4905: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 20:gvDHxLgfcXp8nABeRdN3wffxZ1/vbm8tquyL76JGQljlY8eBXsrZIe7ai7VfK2/b4WxwDbKUyxVcYtmshsNCW2+prrWmjw3YyLscbInUUEnW9YethjENfd/kDsf8ODpPfo/Q4Sxs7JZiGsL7IEWA8B81ZyBbUmTgl9EqwGJp/Uojkuo9wwmz7Bm0oIW43s5YBlJoV1kWedZ0JBZ0CwTmkq6+WvBxRVQOrP4SVgGxbmjh7GKqel1Q3683xLNFycN2/lsJptU7EF5D3s+Qv6TdmCdKldl8ROWuXO6g8Jki5bsmWkCdlxcbJLpkuZLxIgmLZPv5Hmd/r9J5yxFWoAIjwI5eeti6TfuuUqcH6bdsdlJjkvoP2ws/pzE1cP9k9SyHUrRzit5AOiLrHm9ZgXmPi7KTRD4fylWy3xwM8S4ToIL8DFs1tiUqLeejOm8UfAKuWl4bO+7YHR0wLyepTDhDfpSzNhBazxrxJZjMWU4CbZtkRVlaXHtjkk59qxHNWG5d1WlERk3A3QYWM2QQqpc/fxrs81r49T/H8AEmE8/4hGuMDsrj/+gFOLRieelPmd2aDyxeE4dlWs5hkTrRi0SIZr/Cwto+qdt01oSuXMlaD6w=; 4:LjcTtAUr+vx1ZOVDp4mBda/9KnopJpGOa5GKEE9UraPpkfvK8hXq3q6OLgPT0QstecgWk48bqwGQk2KpzLoNR8M9MwSs2ckKblJ92vNsp0mChfaLsmJ4qf6pmSNd5SKSux08ereFidGjQl0OUlE7V30Ov9cunD2pM6jDw9bMa7i3VWrcXIeksMoluEweTohjamvWvlwB4+b5RNavAxRrcJ5L2g/qWl3vR9AYrgwzcOOiwTXD0dMhAj89MjFBQ1yEy9jjc73R6jZDdHOVoPeFkQ== 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)(8121501046)(5005006)(10201501046)(93006095)(3002001)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:DM6PR07MB4905; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4905; X-Forefront-PRVS: 0729050452 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(376002)(346002)(39860400002)(396003)(366004)(199004)(189003)(476003)(26005)(3846002)(16526019)(386003)(54906003)(55236004)(110136005)(2616005)(6506007)(186003)(16586007)(51416003)(6116002)(7736002)(478600001)(105586002)(25786009)(106356001)(305945005)(8676002)(81156014)(81166006)(76176011)(44832011)(486006)(956004)(42882007)(68736007)(11346002)(446003)(52116002)(2906002)(316002)(50226002)(8936002)(6666003)(97736004)(5660300001)(50466002)(66066001)(72206003)(36756003)(6512007)(48376002)(6486002)(4326008)(53936002)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4905; 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; DM6PR07MB4905; 23:a/VcJvtxAbnnCrZ/4D95MD0CcXF9eq92kzKIVz0jj?= VpQvByC8aajKP96cHKQyMCu3x3nttA0AovTUf8a4E1/AvVFj0CXKZcloUBP3e9q8nSpOSVaJGflis+AhxfbSEtMSVyzzJN4Gy55JZ7ENeCBqNhDfHzvYxjlgm6MkXDNwIabjl8bymgnQjMmWm82mEwjYEq2TiRVuZG/9PhqR0pdMjNA2853oEkZ29+jD97OLqDip6CcPqbNePpCN0Nw6pgR/XqS6+AlqhtDKlzGGI7bKvOVAfB1qxaM5RRTQ/NSWZ+Vkz+/uC2PrdHSEp/4/hM4RofjfQ2aqNZHpyzM0E2tAjnCtxGxEiALZFF1RmSoAbpG9gZjxCXPvXNO9Oe9mMqhasHlZqp6cZD+boxogc/Vgv7coTCplZpEWjv51v57k69kwAOTqBW8i9WpX47TSITDZl3uha+HGF6kSA0a9NtPd7i7Bz101CXo082zcWPlKHZ7qJQINMR891IDz2HMx2DkHm277lUNamZIkuiB/6E0uwCtyOvxNO9nxniVcxLjUCi8mmmK9fgYywZruh0BeV/QSr0SiZd73o66Jy6yQuch01Y7H6LawRZRBjAxojR9zTQrUYjq2jOG73Mphw/8AbmcDloidjNU/o/tqy5IMWx1MbXbYvPkV0weqdJTYJ+Cqa57Qi5xUGOSyGr2H3J8YzMnD1yM6ZLF4uQ8osm18g/i/GF6fDPcBuzWfnJYs8TERsQDHdKqTFwffU8yAkD/GGwIOaZcARBKQzmjNhngidTaIscUlKvUAGhOZcX5P8uB21SMYig+4259wmxXk1dtllFALC/PktRPEPSZRPLRywso6nAVi8tmEBa0LRcA5ho9DkUQtVTnKCqhu5Yq7rl4kQp2w1xMq0t92b67JrIuP20HNcCUPAfGj5rPHMbqjPZM55RC/fsVEMzbFR8g05mbKnpQbGGPGX/lzRvPsLdsqB0VXyQh5/tvTnd/1I4oZxQapyRSEGlR/o9f140a5j91xmBeLj3qvxRu1LaEWYiPUk757ayvSaoc8KGtrYKwux1DriufjSzPxJlkDhOEwtylA0xgiwM8HJkmEbftVzZisSyBVehzbtdUa0hMnE0Q6PNe9FmMai9Wsh1uijcv2SKveU9dZ0fN7pbWYVr3XSzCfMQRzIE6k4DmQA1X7YPQhA5cUgsk8Qni6NyJ82GICZsT6IGRsBp04wk75DtaVTxNDWNLyAD8S8kTgoMZnB0bTBVojwA= X-Microsoft-Antispam-Message-Info: 1x2Do3lV5YCS5CAg4ZB/ksHB9bFl8GZKVwyp9Aat/Pg4hEdsAocSRw/3yPIc8NwfBC/0e2B3AYMzPLbrDLmCwyvYIBMkxwfUxkY6u9Ug1D82fCd2OMwAwl/k6fsY073dCa1yWVI0wGTcP0npCjVXGUkRc4+zSqjFiNitNJlANpOmgJfFI6nN2bsMsegQ8gLRlBlICWzMRnF+tyPoc23OJmQfbRNFd0ttobg99vSQRrF7SmQHVDGGaHU/SMSdIiQMNv0UMagtoU0M/5T8ozJPux+Buw1cwx8pMcE8LiDmHpg4VhYh+wjqG56xoWnOlMdAY7nt9pcL+V4mB+eZkrdHUwKJxDMtigpa/ta/AYFCf0A= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 6:gD0+H6soC+p/mWQakF61gx0CnkH+vH4m4lW+RSShUo8CkzXp6rR+c43yCA6Qya6pSBeXelCEg2KlM7ahOWaGF+nYbiYoN7U/sF2sVr3AHvWU28AHGxK0vsheHJ134RLFY8q9uq0ApZOc64+V2u6UMWRwkB+vqxs0wY3J05TfQEf38cWsSDDylpVxeGTi0iOjKLxmhswZARYveViT2h3v9a96Grq5JVFplWk+iLoJKKVNK3yhuZAoixSUXSi64PJBkX7ZsTZe/ik+VTZAWNVzV43KmGAtHmP/DWXv+YKlmVkPgrl1hX7xXYGH8o/UuGi/BKpx7mm3Z1nJAF96HjX8gJ2EKVbrkgQ/ZS6ViR+ogR2ezV0mIMirv0WgAGta9HGTDdd+lxk+spVB5WjS819ZmV9Twe8roUJHs1St/WgLocPmmhL8k9M3+rhlYS2G4THyxWALxMU3eXvJXkM6FzMRRg==; 5:kvAqMNp+yrw22BQhRIEKVJo3Tr8gxc4tJ1gjo2Jr5c4kfghdcZ4U8sTGuI9jBG2eldv6gk7qTshe0DOfnHM88tpiKZJkIOD/83mDeofjY4/zX54ZDexkAInIYn1g1xyrOJJPNXORGf8gsSgNoiAOZTyTrS1u5rs9N706oILj6P0=; 24:FK+Xv90dtobGpWJwrcoge8ok2TJeXXjulpkPo4xz/TeSGAqHiF97AJvK9pA7GThhgb4xLwyAf8BTuozOjZmmWQcep0fjzodYkOQD1y63ksM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4905; 7:qkOjKTJX2xMmWCbMwK8iq3AvHPioc1BGwdVmqwepc/BLwy7/HwKLlIQWMHwoxCIfhRmqIpVE23ZgiF3hl/3fQLXUoSfDvH90GTrlao6n3aW+mfgm9LDSUcbqsBY7mrwj1jlGyxoO89rTIIfsZSE0Rg33KUouDth1mBEOnsHJ3Ny0amR/4dRgFU9itQ0zkDp6arCSW2WCSjayL8Mu4ogZvg9djh7je8p00lvnGqUGTz67B8Vo/fVSN+NtujJqD8OL X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2018 14:43:29.1161 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0fbc7e9-28f5-4a43-0f98-08d5e67381ef X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4905 Subject: [dpdk-dev] [PATCH v2 4/4] crypto/scheduler: add minimum head/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" Minimum head/tailroom requirement for each PMD has to be considered while populating the dev_info. Signed-off-by: Anoob Joseph --- v2: * Added this patch drivers/crypto/scheduler/scheduler_pmd_ops.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/crypto/scheduler/scheduler_pmd_ops.c b/drivers/crypto/scheduler/scheduler_pmd_ops.c index 147dc51..984ea8c 100644 --- a/drivers/crypto/scheduler/scheduler_pmd_ops.c +++ b/drivers/crypto/scheduler/scheduler_pmd_ops.c @@ -323,6 +323,8 @@ scheduler_pmd_info_get(struct rte_cryptodev *dev, struct scheduler_ctx *sched_ctx = dev->data->dev_private; uint32_t max_nb_sessions = sched_ctx->nb_slaves ? UINT32_MAX : RTE_CRYPTODEV_PMD_DEFAULT_MAX_NB_SESSIONS; + uint16_t headroom_sz = 0; + uint16_t tailroom_sz = 0; uint32_t i; if (!dev_info) @@ -342,12 +344,26 @@ scheduler_pmd_info_get(struct rte_cryptodev *dev, max_nb_sessions ? slave_info.sym.max_nb_sessions : max_nb_sessions; + + /* Get the max headroom requirement among slave PMDs */ + headroom_sz = slave_info.min_mbuf_headroom_req > + headroom_sz ? + slave_info.min_mbuf_headroom_req : + headroom_sz; + + /* Get the max tailroom requirement among slave PMDs */ + tailroom_sz = slave_info.min_mbuf_tailroom_req > + tailroom_sz ? + slave_info.min_mbuf_tailroom_req : + tailroom_sz; } dev_info->driver_id = dev->driver_id; dev_info->feature_flags = dev->feature_flags; dev_info->capabilities = sched_ctx->capabilities; dev_info->max_nb_queue_pairs = sched_ctx->max_nb_queue_pairs; + dev_info->min_mbuf_headroom_req = headroom_sz; + dev_info->min_mbuf_tailroom_req = tailroom_sz; dev_info->sym.max_nb_sessions = max_nb_sessions; }