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