[v3,0/4] Add dual threading in QAT PMD
mbox series

Message ID 20191211145004.11672-1-arkadiuszx.kusztal@intel.com
Headers show
Series
  • Add dual threading in QAT PMD
Related show

Message

Kusztal, ArkadiuszX Dec. 11, 2019, 2:50 p.m. UTC
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.

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  | 13 ++++-
 drivers/compress/qat/qat_comp_pmd.h  |  4 +-
 drivers/crypto/qat/qat_asym_pmd.c    | 13 ++++-
 drivers/crypto/qat/qat_asym_pmd.h    |  4 +-
 drivers/crypto/qat/qat_sym_pmd.c     | 13 ++++-
 drivers/crypto/qat/qat_sym_pmd.h     |  4 +-
 14 files changed, 240 insertions(+), 71 deletions(-)

Comments

Trahe, Fiona Dec. 11, 2019, 2:56 p.m. UTC | #1
> -----Original Message-----
> From: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Sent: Wednesday, December 11, 2019 2:50 PM
> To: dev@dpdk.org
> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>; Doherty, Declan
> <declan.doherty@intel.com>; Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Subject: [PATCH v3 0/4] Add dual threading in QAT PMD
> 
> 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.
> 
> 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

Series
Acked-by: Fiona Trahe <fiona.trahe@intel.com>