From patchwork Wed Apr 8 12:50:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dybkowski, AdamX" X-Patchwork-Id: 68004 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7E7A4A0597; Wed, 8 Apr 2020 14:51:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5B6401C0C7; Wed, 8 Apr 2020 14:51:05 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 3A4871C0BE for ; Wed, 8 Apr 2020 14:51:04 +0200 (CEST) IronPort-SDR: /nWuWbrV6GoGbg/oyGPWkNc+DDPdgW5DZF3Cp8WHtjcuguIIyWrab4kyQvmNVNegcJa+lVcR1R 6KXgpbBjB5Ww== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2020 05:51:03 -0700 IronPort-SDR: hUXz6zgda75JGOvGKdtMHQGEUYUsx/SUe5ci7uOhj0WPjzI+UyoKB/qJl0vWZTYHVfgfbwYLLy zpFBMsBDjolg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,358,1580803200"; d="scan'208";a="269743305" Received: from adamdybx-mobl.ger.corp.intel.com (HELO addy-VirtualBox.ger.corp.intel.com) ([10.104.121.88]) by orsmga002.jf.intel.com with ESMTP; 08 Apr 2020 05:51:01 -0700 From: Adam Dybkowski To: dev@dpdk.org, fiona.trahe@intel.com, akhil.goyal@nxp.com Cc: Adam Dybkowski Date: Wed, 8 Apr 2020 14:50:59 +0200 Message-Id: <20200408125101.25764-1-adamx.dybkowski@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH v2 0/2] compress/qat: im buffer too small - split op 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 implements a special way of buffer handling when internal QAT IM buffer is too small for Huffman dynamic compression operation. Instead of falling back to fixed compression, the operation is now split into multiple smaller dynamic compression requests (possible to execute on QAT) and their results are then combined and copied into the output buffer. This is not possible if any checksum calculation was requested - in such case the code falls back to fixed compression as before. v2: * various post-review small fixes Adam Dybkowski (2): compress/qat: im buffer too small - split op test/compress: im buffer too small - add unit tests app/test/test_compressdev.c | 1251 ++++++++++++++++++++++-- doc/guides/compressdevs/qat_comp.rst | 3 - doc/guides/cryptodevs/qat.rst | 7 +- doc/guides/rel_notes/release_20_05.rst | 10 + drivers/common/qat/qat_qp.c | 223 ++++- drivers/common/qat/qat_qp.h | 3 + drivers/compress/qat/qat_comp.c | 474 ++++++++- drivers/compress/qat/qat_comp.h | 29 +- drivers/compress/qat/qat_comp_pmd.c | 27 +- 9 files changed, 1879 insertions(+), 148 deletions(-)