From patchwork Wed Jan 15 14:32:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arkadiusz Kusztal X-Patchwork-Id: 64705 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 42CDCA0513; Wed, 15 Jan 2020 15:32:24 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3CCC21C0CC; Wed, 15 Jan 2020 15:32:23 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id B916F1C031 for ; Wed, 15 Jan 2020 15:32:21 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jan 2020 06:32:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,322,1574150400"; d="scan'208";a="248428316" Received: from akusztax-mobl.ger.corp.intel.com ([10.103.102.194]) by fmsmga004.fm.intel.com with ESMTP; 15 Jan 2020 06:32:13 -0800 From: Arek Kusztal To: dev@dpdk.org Cc: akhil.goyal@nxp.com, fiona.trahe@intel.com, declan.doherty@intel.com, Arek Kusztal Date: Wed, 15 Jan 2020 15:32:07 +0100 Message-Id: <20200115143211.6176-1-arkadiuszx.kusztal@intel.com> X-Mailer: git-send-email 2.19.1.windows.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5 0/4] Add dual threading in QAT 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" Remove the limitation whereby enqueue and dequeue must be done in same thread. The inflight calculation is reworked to be thread-safe for 2 threads - note this is not general multi-thread support, i.e all enqueues to a qp must still be done in one thread and all dequeues must be done in one thread, but enqueues and dequeues may be in separate threads. As the tail-coalescing feature is not threadsafe it is removed first. Additional option added is to set minumum enqueue burst threshold which may help to reduce MMIO write occurances. v5: - sent all patches in one patchset v4: - fixed checkpatch issues in 4th patch v3: - added minimum threshold option v2: - clarified wording in docs Arek Kusztal (1): crypto/qat: add minimum enq threshold to qat pmd Fiona Trahe (3): common/qat: remove tail write coalescing feature common/qat: move max inflights param into qp common/qat: add dual thread support doc/guides/compressdevs/qat_comp.rst | 5 +- doc/guides/cryptodevs/qat.rst | 28 +++++++++- drivers/common/qat/qat_common.c | 3 ++ drivers/common/qat/qat_common.h | 3 ++ drivers/common/qat/qat_device.c | 99 +++++++++++++++++++++++++++++++----- drivers/common/qat/qat_device.h | 22 ++++++-- drivers/common/qat/qat_qp.c | 86 +++++++++++++++++-------------- drivers/common/qat/qat_qp.h | 14 +++-- drivers/compress/qat/qat_comp_pmd.c | 14 ++++- drivers/compress/qat/qat_comp_pmd.h | 4 +- drivers/crypto/qat/qat_asym_pmd.c | 14 ++++- drivers/crypto/qat/qat_asym_pmd.h | 4 +- drivers/crypto/qat/qat_sym_pmd.c | 14 ++++- drivers/crypto/qat/qat_sym_pmd.h | 4 +- 14 files changed, 243 insertions(+), 71 deletions(-)