From patchwork Tue Jul 24 15:05:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shally Verma X-Patchwork-Id: 43312 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 3F251F72; Tue, 24 Jul 2018 17:06:06 +0200 (CEST) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01hn0236.outbound.protection.outlook.com [104.47.33.236]) by dpdk.org (Postfix) with ESMTP id 92DA198 for ; Tue, 24 Jul 2018 17:06:04 +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=89i/11pIQCDx1XdtryZTLvr+9A2ztn6D4iLQhrBxIZQ=; b=ESFbBGXhafccTHAD/AVMp9K7G19ym5UOVEBqZ/q+QGsPr2g77cqPSDDCwXjNCJu2WYaNOOlDt+ujvfR2RVSY4aLxIXqw8TkoLRZr1Z+k9UzIkilYu+DQ6r64YCt7yKsVdJWDGzzqc5rYVxAqGNngEqbbnxTuGXM4mmNeAneMwW4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; Received: from hyd1sverma-dt.caveonetworks.com (115.113.156.2) by SN4PR0701MB3646.namprd07.prod.outlook.com (2603:10b6:803:4d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.21; Tue, 24 Jul 2018 15:06:01 +0000 From: Shally Verma To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, pathreya@caviumnetworks.com, mchalla@caviumnetworks.com Date: Tue, 24 Jul 2018 20:35:31 +0530 Message-Id: <1532444736-26801-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: BM1PR0101CA0014.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:18::24) To SN4PR0701MB3646.namprd07.prod.outlook.com (2603:10b6:803:4d::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c544686f-2bd5-404f-045c-08d5f176f8f6 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600073)(711020)(2017052603328)(7153060)(7193020); SRVR:SN4PR0701MB3646; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 3:RDmG02KHswpsPwB5n1jJZJ5CUVBzMUHVVqYELxAQuC4zKlipCq18RpOk2EvbB8Och51ryf54IktNmUT/QtUTHwU5Lcve1mWVOkGgDec4P1njNTpX78KI9GZ93zRfgvxt077p+ZCewlYTSC447V0ZAmmN+HZUCKfV+HWsS6ypNzZC0WEIiaVbQR/qfDOrap58+uwLf6fRRW2Tm8MybCO/3WsGi4/v9Tp7/OYUH38xsizssxe8jeP8ssAbzK8qX2uX; 25:lKuioS48lub6s2OtE/tyrZkk8NAwCMEHvx3FXexXri2ttJPTNGCMrUC8MIHZ8En7OBmj+txJpe4MAqVRticWpzd5GAPG31lNd58PbBTNX8Rx51c5+XkCexuznnTT9pT1APJOoXAAkq147Yj7MvHX/BwfnnWQvfoeJkrz1W0BW4U6BjYf6fKsjEkjjmpTIiYZpUFFxH91rQFMnWxsF6M+nZgcuAmPODT+Pa2rpt6U81suMbL9SS1A5ABx/jK+WkIoYB+9oBgpgiKdaZyzAwW/L5MU8eeRkIMhdHRJ+8L7yv9NO9166w2+NqPVzmN+GgLFi7ks6uOGkcJlQRsFB0y6OQ==; 31:FCnYq6UlwQtz+b0lmNCYYokPeckbJbhN5HXjtMVAMt+mnUbMD52U4meCMaTypq8Fu6n7uSdz3CPPuKpkjE04pua2MhPFA7f13oVUI0sda5yB3vpuH3V4QU3Srt9R5i1HaYRGPijxMPfizG8rWAdsZ8Q3tt4NXKUbVdPdUsoHVvl0sYoYUnmTVjIX3jdbtGVOwUNAkp/uX2OHOZxbGP2qerNiAI3xCaFyp0BA1BHOFvg= X-MS-TrafficTypeDiagnostic: SN4PR0701MB3646: X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 20:OUbl4Nd7moOP3F29dA5D104u+gYjCeYEC4ueTPXVYlilyRLmoRoOE5aSsOrz4ARAkUILopXJQgliUOTJ9j3uwWQwJcO+IJJUNvevISS22mSgtLkRvEnfLMD99wfPAkyElaxcdBhuajv3p77qpr5v6lrU1qjCIeHleiSW/b0ZSoO4su90nPVRzzSbd0Y7jPXt7rbz61NRe7WQHO1+d6/0ze45YHV+BK1PGoE1xjDdB+NHWIEhoa/JeaAIS8bcFqt751dOn0u9U0+kkHxnZe22qL/hb9dCzXucxJOyCHRYJz2q9PgjwNelv7yktTZFTQz9+nXNR3DwsZFbftZzVktfpnvaR678U8vIJrfWUHlkKI1BzmVLC5+NHZQ66WHAdKWNrqu0HWRW73soFsRc/LoJa8YgjNAAtkcsLW4HM33qLPsz2KdXWwNcdr0sgxATFKNhh5uLqJkO89XngzAxeW6Dtvjo3l/t+Ly3CaiPK2zK1c+PfrxW/4qWWl2TaD2z95D1ncBWoA/WL2uxzqPy+jOvZywyw+XQQSgRsDgAnR6JfXmBOoa/BcLYSbIdN7gD5bLJnkEt25PKgaRr2LqWb6xsNzX7v8KboypvUHkpuakPo3Q= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(66839620246622); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231311)(2232096)(944501410)(52105095)(93006095)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:SN4PR0701MB3646; BCL:0; PCL:0; RULEID:; SRVR:SN4PR0701MB3646; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 4:iGFLCdI9XEK1YjVd7CzjzpoYxMzgqP/CFiCqPRbayUBP0Xr29a98hwetLSD5xAC/Lff2PrsAt6yCMu2fhZosF3J7u4KCiyNbT3/RYs77hrVJLoNsct4KIOiGvFKpCToPDQcpAHUt1sfMJLBUh2Fiwn+JRpgNmDMMHmwf8AyKleXSoE1HtI1ytR+g2crFQqCkCJxsprAxXSKnExSqhYUBB1+foctWw0MPzdFd7gh2XKkROfBDKE2+PuixeQef5W9cpBAxMuYc+FbW0PHkQuavHN5zALnaYyFX85XImOR1z9mtG14It0lWDGZOnmWaSokQuLg9V9p1f8lvgZoD1MxfisqUA2sIwKxpot9xeWozu8I= X-Forefront-PRVS: 0743E8D0A6 X-Forefront-Antispam-Report: SFV:SPM; SFS:(10009020)(979002)(396003)(39860400002)(366004)(346002)(136003)(376002)(199004)(189003)(14444005)(26005)(2361001)(6506007)(55236004)(386003)(486006)(2616005)(2906002)(3846002)(36756003)(16526019)(956004)(6116002)(186003)(50226002)(68736007)(5660300001)(4326008)(107886003)(478600001)(53936002)(476003)(52116002)(51416003)(72206003)(48376002)(6666003)(97736004)(25786009)(42882007)(305945005)(2351001)(69596002)(105586002)(106356001)(44832011)(6486002)(53416004)(66066001)(6512007)(316002)(7736002)(47776003)(8676002)(8936002)(81166006)(6306002)(53376002)(50466002)(16586007)(6916009)(81156014)(59010400001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1501; SCL:5; SRVR:SN4PR0701MB3646; 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; SN4PR0701MB3646; 23:f3/ppxdYaOMVONTlFbPtkIwr56/q5j8H9X/fX9B?= hZ3QeZqq4qVBeLQisp5ITnQrRiGdVNSE0jWinJLUHCAKbd5A1ucBYV+uZyRuXlyLkoh4GK/yNOVvTlYoFL12sjZGHPTF3M7PG+cUSC7sd9UzwnmhY2VgZmwTHSU2DwsWPab6TeykUNusmPCrd1MgprLNBA0olX17uuCCv08Q+1akJ5sRMEvUa7MyCfRGtQO8r54f7oz/rvUWdtrCyMirCdJW7Im/U4VSk+Io9p0YkkIy0azyfBPYDtMiLB6bsKicCk+yBi+cnsGA9DrBtoYQq9QfpdEDM/5s73zWpasq9soWvIQltaU7MxA7IDCDwxGkgnAJvaBNlBP9TADjzoC3u9fTZkeVPYDxxJ+pZh+K5sGFd/kPlm/xqS9GBnXSks5rb37+d3jR6z5EO/s40Y4IsX46BddaPs99Cgu7e3151RTX3DZwvKZ/+3H03TQDgkX0uoqSCR3ydKfZc8BGVvFPB1Q9hb71dGnNGe0mpoHj8y2p61fjUfDg4NK/64uyyoysd8S1CnRm4crCm5Tbe4l9QvlWCYqI19YXZLX+ougIxSPbxn4ecZw/4J0ZZo5h/juTWyCESOJo2LwdU2XPOFZ+S94KbBkfyLWIKhpv49Cc+1i/jR6nN3KBdvYTkdJ19Bte0G+max3amy1sHOiksRvGPwkiOb/+8wijxw45DirBjzOoWS1BfOIpD6TIQuv6y6mInpf3PY0fCdEpXJRoT8C22ss/IAeEWEfW1PxzdkhzajQr4Oi4t6rrLbGmjr0qbT9zlfOKBn+ga2g69yHV/qiaE2EEw5qML2avyv1o6MpKrT4tZX7bov7zF9myq2an54FoyDqWBByU8W0drupGuoxocCDFXziEko80KHI4FhMs1FCRae7qSvfurYJxHgjWulP3lZ9XG/Al2UmXiY1dO5NFUJ/ZfTYFxwACZ5yF8GrOgBBuRobuNRaQbedVvIXco2T29pfu3VlOR352n14tshBGkenH8DdVtib1MaKxlWZY5dVB/XcblyCADjUk0AyinjrRbeFzUGZlEVu175FHL9WK+nhGz5nef3+vWA+IJE03LEOZkbwQcWBRyPOpGl59oem41Ukm3Ef/hsoN61fODMCfQoT/k+P5uhCegfmMs55T3IeQfcyWZKazGIANVtkj7x8YiOyf8erDVr+OZfnDs1FoUBe7E1f2j2j7AmeUn1OC5OR++g/AgEJoi4LA3Ms8mQUWp0E+uWtc9LDD2PNOKCFMdp4vL4sVXRvszYPI6Kjx1Oiz6KopjUaRD2t2w02/yQCyyXg5RtzLT56f5EvVNe4mFDove+CjXpa34HW72rOdsf06sbdYTRToZ7N3Y9NbKYscSEk2ZMV9+e6LGb5A6hKbNsiVf0uA1UzugTJxmNhfCt/e4W8bchV9HMRshqmE6M0F2J30CQ2f8iN77F9XcKZFE5FtKV2B87jJq+kEq/Z+ZOM7MZuPyTPamcAurhj/ZvuSqol4= X-Microsoft-Antispam-Message-Info: cUPRITyKImkPNXP7EcDetbxTfIzXuLTkWbjDj5ptJe2x5ECdeH5zeYq2uliz2hnTx8lzpKlojQm3QVXGvj8s5Hi1y+BLVQnL6LRBXR/6hbOTO6sR2mjUJwPphJ8Bna5eQbaGxwsFshn0q/0YOuvnborZtl0MiQwNw49/JNB6zvxAxvn6dhboB1Fm6mCpmyjVbZWSa9sjWfiwDXQP9Ln7tDLDg5ijl4ZLab2GqxFf/MNZaTTpt2qvEu4IxColdzNP/r9yqTXK7dDndIkb3L/WXL4cdGCHmL2zvmLxBLP1NumDeA2Y4sh0GyK/ClTbKal8fEqgizCAHI1pDk0NTuTw6O8vwBUntPvDpWAzm7Pdwp2Ta4tlqkTolpyTwdjs0XXNhfKKwmB/0h7n6JbVggOOtnXfW6rI432VLz6ziGu7wnzMJS4+Wu8zrqnFpNAam33qeGgiUHwRH2p0GYiFJbiwYIr4ilhB5pIO4gEOWdAY6FheGq5DA3s6rJtPgKjKXm565MJ6KE2hbF4c2u0y7im2wdR/jkLdMGWq7KB+2U0f4cvFhaE537h4vwm1D6uD4f0yb7rywBIDjgxpcQY/7z2ZPkyUeKyxaMZjkom8yaFjTn+KIV2Ew3F4oOhSWfvbvFlW28C1vIFxoGCBxwD87ncnjjgdW7cvRbksLu/nkiCQkBp8wFYhIEOrckcs3e7d1dyhDCC7T+VoPM4j5VGCweE68Q== X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 6:XBkwWZYsS0FJL9QHvO2MS4Xf5jdcGS7wea5woqdZ4SRIgfGLCSIfXZHvNajrlIgRS22EQNUXJtQIWlsgTuDHpk4qBSXrD8/dO1hxE6RdqhTUPQcNLcox+tWVbPiugI+jJda/1Q+rCqdWb74YuKrKFysTWqovOctnLu1O7AB+G+fgfR+0eIXfjmp2tSfLiFYiIMJzkt9Wo7l55ug42qHMqod9AP5SeP8UW/+m9lPD/QecOdoS6VrE5YIyGd+rFd+GSUR9thyRVK+X23z7vTPrgMJ1pmoGZAbWpF0q0awZtzVUhUcIKEXBTVWjzmam/KacL0F9uMGLabrqMaGms4GyjPKJfui704UMjK+P0uilbV29KR7Qt8tlBuQORUWxVuUHyxuwimCHjyGxUkxs/ZJRRM2RIgWDPehoFVJGJpD55MNUvRoG1iGl/hBX+0dV6Pinc1WdSGAK/gHHCahqFVvvvg==; 5:7FjYr0eHSbjixtJBAY3AQ9FacAYYWCJU8WqT1ucjU8uwqain7ZS7+fay1WQGHtgDVpW2PrbyrNKOwdZkbQZ5FZXqzZTo3GStkkM58sMWh5U7aDMgPkPQ1cBRNXy5w+LENFziVJ2uWp+z+gObT2JxYBOfafjgZMhTEXBj91VNuy4=; 7:I3Bzf8c1cKiA6h0r9k5ulx6fawFrhF7tZBq2Gak/gjkJouQpkCue1swvseCIGjx1B8YxAvyigrNw7RDbshsAnMzeMI59vBEfTjlW0LimA6gYRscptmEgLnv5efTydDG6BPBtMWScIKm/GeuBlx7K+GtdMmBiqxL3Yw03paJGEc9oABD+IcbpxM/MSufiQDbxiTasdSZB6wc2eT/wqhNjsuDOAamgkkRkt1W/GZAiz6jwJp+0WCLg33n5o33OTbyb SpamDiagnosticOutput: 1:22 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2018 15:06:01.1368 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c544686f-2bd5-404f-045c-08d5f176f8f6 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR0701MB3646 Subject: [dpdk-dev] [PATCH v5 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 with direct buffers. Changes in v5: - removed scatter-gather support as not fully tested - add return code check from compressdev_pmd_parse_args TBDs: - revisit macro to inline conversion for COMPUTE_DST_BUF Changes in v4: - fixed -Wimplcit-fall-through compilation issue 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 - Replace COMPUTE_BUF macro with inline 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 | 10 + 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 | 436 +++++++++++++++++++++++++ drivers/compress/zlib/zlib_pmd_ops.c | 307 +++++++++++++++++ drivers/compress/zlib/zlib_pmd_private.h | 71 ++++ mk/rte.app.mk | 2 + 14 files changed, 954 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