From patchwork Mon Jul 23 14:51:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shally Verma X-Patchwork-Id: 43276 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 DE61331FC; Mon, 23 Jul 2018 16:51:46 +0200 (CEST) Received: from NAM05-DM3-obe.outbound.protection.outlook.com (mail-dm3nam05hn0217.outbound.protection.outlook.com [104.47.49.217]) by dpdk.org (Postfix) with ESMTP id BD98031FC for ; Mon, 23 Jul 2018 16:51:44 +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=aVV6yZzqPo2ShitU4AtFfygU0JPHuDI+kEwOLLspfns=; b=FClr5h4xqU5CZCY7bWOIM5mxlBGGYhBiKIOPWisjrRC96isG7FIw9O2ozKwxv0OHkCQNTseQhxyPWDDH0k+nY0vXD2Az2ZDwMhNnhS62Z5FsYwZlVTPpjLjFs8dRxIBJ+PSp3IA0yJiOW2LsysP5fK0azHg1Ed9wtAtTpt+FSB4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; Received: from hyd1sverma-dt.caveonetworks.com (115.113.156.2) by MWHPR0701MB3641.namprd07.prod.outlook.com (2603:10b6:301:7d::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.16; Mon, 23 Jul 2018 14:51:41 +0000 From: Shally Verma To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, pathreya@caviumnetworks.com, mchalla@caviumnetworks.com Date: Mon, 23 Jul 2018 20:21:09 +0530 Message-Id: <1532357474-9544-1-git-send-email-shally.verma@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: PN1PR0101CA0041.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:c::27) To MWHPR0701MB3641.namprd07.prod.outlook.com (2603:10b6:301:7d::34) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 73ade088-2b5b-4259-bf05-08d5f0abce40 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600073)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:MWHPR0701MB3641; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3641; 3:B6/0S8pJcN6yA0vRsuocTBHk78br+jYPDtK63KlPspI5aLT+f1CkZ1a0Tc6lObcELCYBqE/AzuLlHSnXm3oc35bq1FAI48x+v2aizBVG0qsUCLASSYLkp+UryyEUukEXUptk7YGWgCTLRGJorApv2GLh0ertaJZ6HN9nbIgZcoa4lEaDehfEAVlQNbyeWtUqHFcThKA5xMWxto1z+fA6ZC/J52djNDHefN2BqiyDRhWujQZnZ6Sbz5/QO7JuI+B5; 25:c+Tcc19TS5ZpjWAaXj4EJundnPMWB6Wm8aT4Z6WYk2LQ6qaneH5yDiRiHIi8/vWd+5tAdRxfwlPdugeascQO0lmESbDwgurum32jrlb8sQLcGmcCOk5nHTqWwiZX+TltpREODovGffS0rcpferlBMuLLwY6y0aUyeHy3KOhn65x6tB1VcxzqEXuFv1McDDc0n5vbypVc3M3If/bI/8UyU78/Estp1hL03Z7IwzQaIslcWc3vFW+AMGzPHJxzAd7iHbMz1/zCZss/UxFgaSiLWrwMPijPiESuleIxll4K6gRUIkQC8iWRUuIYZDIDRyxrFGES8R1IpCaZl/eGS7JvLQ==; 31:dtGfzHDAnTsCQGJXkUO0EwLjrp456/dECUYPSCmso2xdRgSrg5dqUnIUIET/D2jniN37F3Ds0e24ZyG8oNJQlpCXWVLqrQAl2HKHZOoRrM6qakRuYBeMnpd01a5lnLr2w+SwoTspKIQrIi++XDAX9WZBDIMGe2Skp+qZvcFYpGRY/YaY1JRJw759l38Vo1R50y/R8gsDK1dQF4vxr3tzdGgaqbWYjMECnKOeXHLTtyA= X-MS-TrafficTypeDiagnostic: MWHPR0701MB3641: X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3641; 20:G/Uu54RMg38HMd7xA8BIiMEtrSQW9fzrJlB9jDBOvYTdIp07bJDcIKpXEB5sx+Z2YqJvquySfwvqgzGBa8DfXylLgfWq0wfaqHzsuE/eRpY0G8N/6GGH0ZvaqucTWAg/kfa3Aq/y8YOZrw6ETvSPGQV/xfbWX7fLimmYpLBLmxhJbOHld9JcWUKkUY+/L4RDxt+rfcLm745GJJ1lQ0gVANq/IMt+ksMDL0Z8eGliMh7f1UIU4uY+ZG8iD1S1KISTPoAqZLOEadO6Yv5F/Pa1z7CQOq/EcipvXzrZGwWrzPJxws8rVKBCzlWVZviviFVaElNKMhi7RPxA0z28b/lCwZLSAB2mjMKbygYcbHWcfF7A+QIPWqjfsBYYL2XVmvSuS5YSvLScCN/oODIJIsdoR36NNKuo11su5ST3BgFg2BRubQOPrWwMtx6r04cjFrnxjo+EyLmkJWJC97xMonVd/4qbBREvM1cXQHzviNlHRj3AM0Vnwzfv5aMDpzxs6j6XkTuwNYK+CwDF3KfCcIs9IxzqkJQ8CGRpgjcaepGD35BqhCsqajqD4bxjH9E/lTUMR+0dLxWcGY86RcwkVL8WLgeI9aH8lYsP7NYDz6E33Pk=; 4:rZmzMeXsULWSmSoSNQnHivCImpq9txS6zH9+OaeeCTqAB954+IJ5URaTUJhTbMtvXFICVdNfsrVkpqraFuJxQTbKlJ2LjS5+I2LAJL/mBxZWdi8FJXilRlMc8r6C7q1slo6LqOa/O3SR6S9YV/pRz6qByCA0uZQgOdUVb/ELGfdwiT5DBZzycXcfBQ4W4seMpIVsrCA91u92WsA6LDyHSsgMLkvxJmQn+Z1k/IqwNOYGo0OKKYTQnIBiPMl95nOrJFWpDKZKUxAuyTWhhQP0Vdk4uiecSp3G8VYG3ioDahUnBv2wIKKAX2HgYYjQFe49 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(66839620246622); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231311)(2232096)(944501410)(52105095)(3002001)(10201501046)(93006095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:MWHPR0701MB3641; BCL:0; PCL:0; RULEID:; SRVR:MWHPR0701MB3641; X-Forefront-PRVS: 0742443479 X-Forefront-Antispam-Report: SFV:SPM; SFS:(10009020)(396003)(366004)(39860400002)(136003)(346002)(376002)(199004)(189003)(6512007)(25786009)(53936002)(53376002)(48376002)(107886003)(47776003)(66066001)(50466002)(14444005)(50226002)(2351001)(69596002)(55236004)(4326008)(36756003)(42882007)(7736002)(305945005)(5660300001)(3846002)(478600001)(6116002)(72206003)(316002)(8676002)(97736004)(44832011)(16586007)(81156014)(68736007)(81166006)(52116002)(476003)(956004)(2616005)(486006)(51416003)(26005)(2906002)(386003)(6506007)(2361001)(6486002)(105586002)(6306002)(6916009)(53416004)(186003)(6666003)(16526019)(106356001)(8936002)(59010400001); DIR:OUT; SFP:1501; SCL:5; SRVR:MWHPR0701MB3641; H:hyd1sverma-dt.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; MWHPR0701MB3641; 23:0t+dF0/4ksLnE9RFRg8V+Ab0JBzNyIW/eqKkr7h?= Zqrw9chR7prDJ6ewK1Y7Q1xY3P56/YyBb7aeNG9vPLuAj4ncR3+MKBw8TSSg9tcChDy5lG4+nljBwaedVu0l3Bk6C8bECI8xPJOokHS1gQmLvTWRgZi9McqkvHjBKwz5lSXiQdin1aqOIN+0Cw0Ziukdtl2zd7m5EeCF2u2q6Vgf9kEHDpGwP1sC4eWIoTLwXwuflEqt5GQHeof/ena5etbzmBnTdnj10J5X7SEe2Qf7Gm8rqdZ0a8PTIAA/9GL2HnUGY8M6jB9TuECAnnyxqDcYBvOtBuUoIztBLU0y85lmEhNQLMlf/kYsOggVMK3OCKdC46pJrRpgu5JxPVitWx08onn9kRBwCouV/GrCsWNV0DMO2Tq+jLGqPI7AuBpxfUCAdK+pGNmEsQSVOe1DSgxLUXObI7/fYy6E5sKDLTsdWkIFEky5a78yUhuFRt6ThrrfNMCTiUfI2Vx3H/2npnCw9LxBek1PkCp9FMstcVqUYiUBzaJqF11ekuOY3afpSqdVzlqT4PK3e0XIykRNn/pS9rJkEkMxAkkqn7bNDia8QCcHk3fez2gOqRGYdxeraENwNWfNc+lDMZMNsnANWauzf34bPWPsbE9kCS43NJrGZ6dBL19u7uKNmqDAgyVsuWjV3o3+VDGqVuxgm9laH8T3O4vrnrrZPtSn0IbqNmjwE20MsMofwNg8MjdFVbNLsoG/R9L/kgH26YJMAhE5o4f9tar72F53qYSAPMzv/lKbZlPzLdnYOyMoUjKF9bYdCRgQwEihbFm6fl5BaaUm/lqJQTEUI5A1nk+U5ENi0ZdiwJKdnnRH2L1lf2+sSml6hrMxnUuE7PrJfj8LnUq+rlQlTHx3p6PJr10/2B9TURt1aweXJmestxBIZQeV6JdHycP+KBbnFhjGi/cX2yjJ3EzQ3gLlE/bWuEKtgptWvrbyJrdcQxq/3M8xBkWZrOMbuHDVHX+ARnTWg1aNFOXDcplXVRdUiq7r1HfNXvCJKSUy8tl2bu7soD09wljQUUHF2decnlv9mpd3nrmCIC5qAtMtoMG+pRnIvTwx65VaDVtgV/xfaypGLuFOK/SI65LtjfFDgnAIhIgNFUdHuQw01IEcv/ujMnYaaOpCRG9oZHKWtl3lDhwB7y1AHFXPHQymFzWcZUdvbpcSCWw8mkeWFvechiWm6SFieGaqKw4fVHeU4Thy3z6NGUbES6l3doHUxkQayTZhTj7rNovoY7IYfTyS2Ro0V4kcWwyQTk2B173uRhxLFYqfHE2Jh2GhOSPatHSC/73kRoqSFVdwqOtw84L1TmgalVH/r0FAVgEzYiY4VZ+lTEqXA+oak5kcRb4+1GooutMLG1ZyqMLPWvNNr5v9G X-Microsoft-Antispam-Message-Info: DX/Hlaj9eajbgzRuhe/Jv0ng0LwbRJnSM9u1kxGibbL53DtOLn+VEjVp62+KpWlrWoUHzaGEYCF/w/BXlfaY7o1awY80apVJ7isKuUKGlGOhkayHnCqGQ8bOOizjqecQ0E7R6ObESV1DmmGMAnsixLtafSAi0b+M/eUBahmcdwIj02dUVook/JXo3pdjsI0Me3BBtRmME0m1TBJO++zNlD75/1qvpmOt6ZuRVdZY4Zqgo3xOlxWhHUSinkrUks1gNINHfHvlPKKUnt7GrMhCuWIjUQMtvSV2s08cyD5JW1+JCi9ywSeitb4U3PKTWVGF8tGnPGI7NWmss0hTXDX0n5ZIAoaKAG3BmOaztSmiYC9JX3nKXX5ioSTJirsYZnj1bZjc0U/RZcQvGaIqEbxNM/qoabRzLTMNWx8hgzUZeysNBK0L57QGC7eoX7tReO4BBbXs25MmngZaC6Cvls7fjlih5fwH+JIfiCfAKC48Fa4qnZMHr5nyqjJNLCBvo872Juv/PDEdns2rPM46SWnAQfSRW9pObRGB7KgKx1qVjPxkuTwMUQY6ypHHhTubte54fR6Pz9SMnK69kWRxsBNN9Ono1aNLReCO0sAZWyL1p2SgAzyl8cvE/ockmBCqxdIMgNSTPnNjaKZ3l+kUV18NGa3GEZBhkh4OgDSkUudnNiprl4G3cTAJoAD2NOQvHu3NW/iM+MhVVoVtUW+ou8ZgAg== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR0701MB3641; 6:UkmOdXNPuxKGlwczEVc5wAH7KLUWIzHg/V439N3n?= bFGq9Cag/8cj2epTRahE9hv3H87b0w5LC1MQFwzTRT3yvbxVdOGY3/kRGS48jdMtEQIGdorjx6eVeYpc/Sz1MuDgwAmnim1VSk9qrzI8KcyDDQfpNp35Iq6pdhrqBP0S18Qsak81FhHaDU5rHtXoO4qYzvs3HuftTzIAaZ001to0/SyARRBobRSR7xIQsOB2/PZjpYy3xGh0V3JAilw8Ax+XB7J/E8h8irYi1MNbr3JVH/K0oJ7pcZjtuwhtlnH/RhGbkRBWR1cQbLV0IU4zJyjPucXtMXZfJRmssyFwHzjXr2wcA1882G4e3pPJTX2RaFUpifx+GHSiAnxEhErFtvcWxS/lhGLazAECr0fXNtHX3lfcNfXcIbMXb9p+AOXY4Npnkn/uvNr7yI7R3kxMFn45C0d6ENjoBSzHsHyOkJGLd9oDnNE+TzJK//Y7aRYFQUblhj0Wjfb4HZ6f1Rg8PKRw; 5:R3YBf3lSiZ9JxLp95LIwsLn269M8xuyuv3tg9xpHeNYwoCUSy0156y8E7+X6Beeo1fr5VWxx0gHSBWvXQnmEvFbObKyw+UvAmG6kBUlWhUA6tFEqALUtkiBeAqscp4TIdKY8kTy01ZrT9BI+vy9tOlxYEKQrmw41JQFLvnYgfP0=; 7:kqa+G1YjqpTiV6Is9jkfsgvgtpw+DOFynpqTgK05uPuQAv9/pu2M0eWZ4tQozchdjYJ7M6L6sIG4VKgW7L8MoiJTbviCKWWt2WwABZ/a22ZxhpSZfOquLJHg7L6dTv8m7oue6S2bDdelvP/qZ2dXtK7qJbGieaaO/59kituu8x8kE9jrGLN2Bsa7Obb4sjzoMoGQR749o4PlcKvKkvIJlNbB4EoYzlqKO4VO2nNh/unBlNePHE/nK2QWfMQrAVUk SpamDiagnosticOutput: 1:22 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2018 14:51:41.8216 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 73ade088-2b5b-4259-bf05-08d5f0abce40 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0701MB3641 Subject: [dpdk-dev] [PATCH v4 0/5] compress: add ZLIB compression 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" This patch series add software zlib library (http://zlib.net/) based compression PMD in DPDK compress drivers. Application must need to install zlib prior to enabling this PMD to avail compression/decompression services. Currently driver only tested for deflate, stateless compression and decompression. Changes in v4: - fixed -Wimplcit-fallthrough compilation error with gcc-7+ toolchain Changes in v3: - added comp_feature_flags to compressdev_capabilities - removed stream_create as stateful not supported - changed compression strategy to DEFAULT_STRATEGY - Simplified core processing logic - fix doc build error - other v2 feedbacks TBDs - No change to current qp enqueue_err stats update. - PMD increment enqd_err stats, if it fails to push op into completion queue. This logic to be revisited based on further discussion Changes in v2: - removed unused variables - corrected capability to reflect current support - add lookup for internally maintained mempool during device_configure - optimized core compression/decompression logic in enq/deq APIs - updated documentation with correct feature support v1 includes: - build changes to build zlib PMD - zlib PMD implementation - zlib PMD documentation - meson build support This patchset is dependent upon compressdev API. Ashish Gupta (2): compress/zlib: add ZLIB PMD compress/zlib: add device PMD ops Shally Verma (1): doc: add ZLIB PMD guide Sunila Sahu (2): compress/zlib: create private xform compress/zlib: support burst enqueue/dequeue MAINTAINERS | 5 + config/common_base | 5 + doc/guides/compressdevs/features/zlib.ini | 11 + doc/guides/compressdevs/index.rst | 1 + doc/guides/compressdevs/zlib.rst | 69 ++++ drivers/compress/Makefile | 1 + drivers/compress/meson.build | 2 +- drivers/compress/zlib/Makefile | 29 ++ drivers/compress/zlib/meson.build | 14 + drivers/compress/zlib/rte_pmd_zlib_version.map | 3 + drivers/compress/zlib/zlib_pmd.c | 427 +++++++++++++++++++++++++ drivers/compress/zlib/zlib_pmd_ops.c | 308 ++++++++++++++++++ drivers/compress/zlib/zlib_pmd_private.h | 71 ++++ mk/rte.app.mk | 2 + 14 files changed, 947 insertions(+), 1 deletion(-) create mode 100644 doc/guides/compressdevs/features/zlib.ini create mode 100644 doc/guides/compressdevs/zlib.rst create mode 100644 drivers/compress/zlib/Makefile create mode 100644 drivers/compress/zlib/meson.build create mode 100644 drivers/compress/zlib/rte_pmd_zlib_version.map create mode 100644 drivers/compress/zlib/zlib_pmd.c create mode 100644 drivers/compress/zlib/zlib_pmd_ops.c create mode 100644 drivers/compress/zlib/zlib_pmd_private.h