mbox series

[v5,0/4] Add dual threading in QAT PMD

Message ID 20200115143211.6176-1-arkadiuszx.kusztal@intel.com (mailing list archive)
Headers
Series Add dual threading in QAT PMD |

Message

Arkadiusz Kusztal Jan. 15, 2020, 2:32 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.

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(-)
  

Comments

Akhil Goyal Jan. 15, 2020, 3:48 p.m. UTC | #1
> 
> 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(-)
> 

Series Applied to dpdk-next-crypto

Thanks