From patchwork Sat Jul 21 18:17:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shally Verma X-Patchwork-Id: 43251 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 405AC231E; Sat, 21 Jul 2018 20:18:25 +0200 (CEST) Received: from NAM05-BY2-obe.outbound.protection.outlook.com (mail-by2nam05hn0211.outbound.protection.outlook.com [104.47.50.211]) by dpdk.org (Postfix) with ESMTP id 42AB6235 for ; Sat, 21 Jul 2018 20:18: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=tqRZxkWW1AC98KAYAlwx7U8yRdOHVfv6dShVRWbMUoA=; b=SHSlaOV48JpPLqTiHMjnladZru8xf04g7UAejVgeDoAvIP6kWiyyGq4dOtcEYW6DMF/dop770DaYwllUsvKmS/4xZgNENy6jcCEf5ULAlJdlY4AZ6CsDneY9H9oI3AFv+J7kYw7B+bcvAQdEZjNtrYfHwKa1mVc3Ak+Fpb57/YM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; Received: from hyd1sverma-dt.caveonetworks.com (115.113.156.2) by CY4PR0701MB3634.namprd07.prod.outlook.com (2603:10b6:910:92::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.21; Sat, 21 Jul 2018 18:18:19 +0000 From: Shally Verma To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, pathreya@caviumnetworks.com, mchalla@caviumnetworks.com, ashish.gupta@caviumnetworks.com, sunila.sahu@caviumnetworks.com Date: Sat, 21 Jul 2018 23:47:44 +0530 Message-Id: <1532197069-24224-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: MA1PR01CA0103.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:1::19) To CY4PR0701MB3634.namprd07.prod.outlook.com (2603:10b6:910:92::36) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bdbbd805-985e-49a7-11e3-08d5ef365716 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600073)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3634; X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3634; 3:6Rg/huFvkFG32BpSL2JRRMooJOhXD81e2R5rrixYIJR/riiPvqlA+gjfJk0+WGvR7roQdSzg2RZMuBAE4rOF1HsVM0HLgVguqTRduM+0Yc7LJOI1+mkUFrvnk5JkKucVBtuUAOIvcy62VqMeVQSNwRba4i2QT1Ee8QXMSy5TV8ljzY28ohKWejywwlOtJMg4p7wqPt5c++d3WFhYom6zpES+qfDMfJR7+1JhQ2xiyYtqgU28bgD+ekpFSdDSjfpa; 25:Dx31dPBKO+oF+ENa0HiNG45niDMLSSj65oWhYwYJF6O2HuLjmQfjqyNdd5CnSMgbk9pLUSFoePHWM4/hQeJGH/xzS1RocJkzX1Gi7wNKeb08omyv7ZVvjOllBE1QW5Hzot7ADOA0l2oQa7AOOyFV0ATjup0Ne9v5KEzsIzw42PtRBz3NdTFuMXPrP9ZIR9DxfXj9u0kLSUeghfHZfYuaN6vzBprzUxWEkysiMXBbJvtI5NnRerUorJGfneISZhh7SVifx1db8mQ6wDuX3bRIfthTpTT2LfHiIkJbroeJ8LNPx7OBIf+WojC3LzCYlywdP6mjd9lq8gPFIjhGlLZu1g==; 31:TvHo0EnXubMf/NXV4zWleM4ZQzORD/jS/dLYwlYvaVupIBOdEiNTLYBK3R9/DOGpyO1+iwme390/zJ4XgS8V0bgPJDpNtljnx6kNeth9N2161CFDhd6EG0X1wKkmUXFxZ0bF9fkM+yoY2rU9QotVLFjZ+N7v05WCnSR/lZfXcXD4hPRdZ3S2XjI+KJda4TY/kqROkGMF0pnerRjn8hZmJPhf1g6xEnSoWQrro//1a3U= X-MS-TrafficTypeDiagnostic: CY4PR0701MB3634: X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3634; 20:VAtHZIB1UqUdotS5f7RIjaOKHbMxQ+BIs95+Cw2uLBBEi+E9Ini/1thvUtpkRQFYo5SCmjSKE/NOUnFxmmyBRyeXuVHLQniofOt9D87sfmBszsKraMTrNIoG1oBiPYG5X3qKgWskVvmDvu4tRRRk6VKlmV9F63BuUUbjoguERKN86bO+Ney7M+Pxa8KLxKDePxwPXw++o6XIYi2lytbLPvxp5BGvW4O07hnoNl+igWHSdgEtCkR3y9jz1HfjUHn+LkUelpdNP7Xg7BgpJq/3CYNM9KrmmV9fiDgwiMdUv3i4b4RAXDR/KXlB6SakHlY7JQXiqfs6yYcy05n4R1uC4xu/oIYtIDD+nCc7laj37g+BYaVmLWoIahwAPX2ziZTOVXm6aK0HlzdXwuQNRMz0PW5eNp4wLLpYsRPt7JgxG/R6+h5A5uFY+f0H/hVuYkMMZmGasU/9z9hEkBnFnWRd1mTu20d9oqn5NxqOIqXBjiSaGRV8Y/X8V3DZRibI4MmFFb+eDEx5SMoY1zHqw35HXCR0rzoPAIrKON5Y0NYPDgJPxE0WeLQ1OQ6z8xdlEJAv4GLTP9xtBwVVSdpn+arFne640pyx9mSncj0znal5VR0=; 4:28R8LIZNC5dtATR4DBcT5UTRPQg8uPcPv0XesdPIWJLBUFSDwx5F0s1MkxrsoQ4h+/A+aP7SMOzwRP0KBoE2CCPgKZLtmY2NRxh1hIFMs8DviOv8R0erHsybKY1g6rn4E6nSGEImVbkwcz57toyF9Vxbwsapnt8Lgw5KM4TgejOw44cepsC/9Vy1FsrrIdbC4Bh2yxf5F5C94nsg+wmigt2bnAiEdGM8xC4UyxnB2ryXuOB5EK9La/9jnQBx8603f2E9nKRxAPOn5YMgBKRv8o2AhGWbvoc7AegBHVTV9vN7zOMw67YHmHdq8Wp2uTS6 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)(8121501046)(5005006)(10201501046)(3002001)(93006095)(3231311)(2232096)(944501410)(52105095)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3634; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3634; X-Forefront-PRVS: 074040B844 X-Forefront-Antispam-Report: SFV:SPM; SFS:(10009020)(366004)(136003)(346002)(396003)(39850400004)(376002)(199004)(189003)(69596002)(25786009)(6512007)(6306002)(316002)(6116002)(3846002)(55236004)(7736002)(305945005)(26005)(4326008)(53376002)(107886003)(53936002)(16526019)(186003)(16586007)(97736004)(478600001)(6486002)(72206003)(2351001)(48376002)(8676002)(47776003)(2361001)(66066001)(50466002)(36756003)(106356001)(81156014)(81166006)(53416004)(105586002)(486006)(68736007)(5660300001)(476003)(2616005)(956004)(14444005)(44832011)(42882007)(6506007)(6666003)(6916009)(8936002)(386003)(51416003)(50226002)(2906002)(52116002)(59010400001); DIR:OUT; SFP:1501; SCL:5; SRVR:CY4PR0701MB3634; 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; CY4PR0701MB3634; 23:fAK7MbaYIqoMWkplyXs2bSHULaljPVqFQ4t1m6N?= Ucj7rvNdlCNztVNr+6ZT/xOBZaqJ3wSlgQN6ma8i43L/QgtcYu85EfdU5C9ZpxIw5GDr25cgw6IkhQkrvDfG3jD45TZ1lLrMtUjNbN87iEtXKQNh9KLzRvLcArxOPvEg7Na7e/cZei/039J/3TS0bqrdicM8w4k4J959PawYrzHdxjQnjHofZzbfnyvMtXRbelyPMeGEBapBUCfzWWsaFssTV0bvVBEx1CzHUl2aw6loTMiRBCAQxM7W13vpBqDB9tn/KZ5+uC6tD5ljfWC7s3vg0RV81D6p5lvMNpN8tzMWCfld9qmzcmn3C1xn5mvREnWCIzThgvvQhH5bjN7LnXQf48EX0VT/0WOz6c3Ilp6GhMIavcyb4gQhJuweG9FCLam9FNYoZ/JPj2aLfyOoXhXDG5s8cnqulbLyRuHjotqQ0d5eXRf0WGJl37achQ1JXCjR01oyfqxNQ5dUALaXDLN7aKu1zFKnwUiOeVMAssYNpU6Jge6phrXr4jBsuBXm5qmAD+3q9lUysLzymeEoUijjWVllIwy5bs+7BEUJido9SfVIuji01PPeQyelQrehtnvnQFq5FSkrKIeVWtIYciPDtUSPjp0G5KZSgsWBzrqigsM0AAUYJ1zDkW7+KRSXBF3X39PKFnwmqGoAKxz1w9g5uKVHMKZSzNLNIUH3bt3tbsyC6wADqMEXpIFHSAiSubF0u2feERI4mrxU+cKWPY4A79qOww6gc3m4cuWSK0kAy4JCqi+HR77wK3eCJ6AOHL0UhJ9laOP27GEiBMrKwrgRtsKbxurG2F6GsSYd2OHrunM+/DTQKPks+Xa0k0dFdzVUDST9HIZH0eKzZZ1ocwGGH52d20PlWZDEYQxHIi+9maD66jpS4bDANbbv4Ej3N3+tZigMYtf1857Wl8Wqiil0TpHzpAdoSxRjGKrDhuiS1taeax5zqwIb4rI3lMPY3gU34WKu1IIsZRttneer3Y6blLLqzE2QyM16SBnlndijyD2tdYEWFx7kEiXBSG/xI4Mpvr0qMvHamTAOrrAauZZlOtKCS+TOcu74dAc+00WJj0bc8cGDBWkg39KxgoB1v0nG/ayjwaGvlylbNpwspU8pwyZNzmo4B3f+RZULIePBlPfFMGCAOZx4MLDQlCVAK4MbPNcEyighnT0CWMsUWU/sYB6h7sRNuSsYJre0dlQ1c+pZhym1GXZbP9SokdJwb+XMESQOGAYw6oAj2mviybnicwWmFKPX2l6iWKSxo7qK+nOFv+tzeNUQHcJerwbrIBDQY7FaSMiaV5CRIcEW2bQCR6f11wctkTIqBbFlNU8x9k7eQyWjjGLRUfnhs+N2CgVn4WmT6RMfn85HWNBm6qs40 X-Microsoft-Antispam-Message-Info: rGpy4e8n5B+2OTKP0Zfz840S0Lqpg28Wdxdq6UN/4oF3bQdmktqjSW/IZk5mY9oMmtpGK/tbavLyRLnyqRtWaczcavbcdB3DtJVQ5h/hVSM3AD+zudhAIt6RTTwy5tCotQnbZbDTReoKVeO+a27lY9bmvoiq/KkXjOzZ4hDgCMFZihC3hhKui1S5obz4llQ/vW8CPPnRj+8UG45Ed8dIPonPla0ktZEOAMQKRCqzcku/5cEZFO4rRM7k+CH6GMdZlVsXj0sYRK9NISHA0i7mg8EDluzD8wHfuKv+x0+BHw/XtlagWc5e3CNLKXk65DchxwxchUR5jz8gYpxYCi5cPIYhNrGx9CYExqQgUPSU2k8GKc7tYH6kqKH2my5lHbHjF6nAbKdKKSJNAEc43hjGD6F+DKAs8nJsLgUwQBKg26jbs+7M8iugKW7MkRocJK48e9gkbHpp9SBKvLRmtWgJMWO/VssbPHwKsv9iQlecbxpGwbcNAS6YqMslkvZdBljafYajOU4fgV0J5wLTsd5AfEIMj1ctP4nno33/EYTc6UUQyajaS/DP5ZGCHRwJzYpc/G4u6McBXppmvXs+iB/qpu/paBZW3Paf9EU/Kp4HynvA7uSoqcoKo4Xq6MJ+r7ZU9KLcLpbObM0gMWepcvg4ljR8XODl0HtwGf01EILEBMpxVKn2TRUPUf8FU5oNJosUl7knGJeN7J69eOIZ1aINQA== X-Microsoft-Exchange-Diagnostics: 1; CY4PR0701MB3634; 6:jUhXY+DU0xeQmEqrILk+xJkS9UXYc3AkAOJ0qgcca1GgtbwPh0A/Qo+eCAZOHLiBMW7b6a9CDMjZBa3ZHL8sl/oPOfCoc/fzGeZ91N6f9Xy8X+wbEOacAxYtcqqp1lO5+bS9tuHtbrIvRl3ckm6KXSPBCZBhMBt9Ve3osbEsgAJwIegOtsiXkDq20uz5pIgtV6Ht1tll5S5uAkak25u5AZgtaPDXj2EIuv4Xp8S3HrvnamxDiU7Ka4ISuLGK8KhzNe2gxdBhrTi+arVl0X11w4oA8HvbESZYD7F3jx01cMVcFVo+VSZ78RyMVvhmoWf8oTAiRAm9qGwwALTExAEiWk4O/lF8RQ6Ntzx6u8oTsRR59RTgdBNniGIrjofnGOK00aW3bSRKcrAyfCIpBLu9181S6mFpCKazwGcU3g6+p9tgIYAKppqZk8o7rOQaLbXYaGFF/dwpt0GJxX2GDV7HnA==; 5:uBXI5xaKGvUv0vRy4idTfLL59ACr25rGWJJxgxn5K3ibOsGjJKeid+JTVUS9XwpV4XZ2jztpOV1sEffe4nk0eSw3obKJM6n0iVyN8WjFYL2GtnBjdZ1zL81KaiMHdwxT1QSCTpPprbdBdiD1i+JkRkmDkpUcgFDoL0bAindusIE=; 7:vdbq4n3pe655qPITl7WaIuIzl+CY14AE8AGxpDWqi+bJ7mDqWNAnvFLJ6rHv34xMK467rivPl2XWaS1l6XW3W3t8Qnt1hu0+rYPhh4OfgStw/Olgo/gP/86e6djp9k+jFIrf20zPC3tQSpdmJ10U7mkhR9mkEpI3KZphtpXG0aaLF3iJw9IBUUU+x6Qm8b0hTo98tLMdd2arPUl49jTSPPQm06tic7lVzC7tVbHLDJ4TDjld1Q9lcjvYRsrXj4/V SpamDiagnosticOutput: 1:22 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2018 18:18:19.1245 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bdbbd805-985e-49a7-11e3-08d5ef365716 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3634 Subject: [dpdk-dev] [PATCH v3 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 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 | 425 +++++++++++++++++++++++++ drivers/compress/zlib/zlib_pmd_ops.c | 308 ++++++++++++++++++ drivers/compress/zlib/zlib_pmd_private.h | 71 +++++ mk/rte.app.mk | 2 + 14 files changed, 945 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