[dpdk-stable] [19.11 4/4] crypto/qat: add minimum enq threshold

Luca Boccassi bluca at debian.org
Fri Aug 7 16:53:02 CEST 2020


On Fri, 2020-08-07 at 14:57 +0200, Arek Kusztal wrote:
> [ upstream commit 47c3f7a41a26c9943f9804691d03828b2ce09f40 ]
> 
> This patch adds minimum enqueue threshold to Intel
> QuickAssist Technology PMD.
> It is an optimisation, configured by a command line option,
> which can be used to reduce MMIO write occurrences.
> 
> Cc: stable at dpdk.org
> 
> Signed-off-by: Fiona Trahe <fiona.trahe at intel.com>
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal at intel.com>
> ---
>  doc/guides/cryptodevs/qat.rst       | 18 +++++++
>  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         | 10 ++++
>  drivers/common/qat/qat_qp.h         |  3 ++
>  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 +-
>  13 files changed, 190 insertions(+), 22 deletions(-)
> 
> diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
> index 5135703..aa3cdcf 100644
> --- a/doc/guides/cryptodevs/qat.rst
> +++ b/doc/guides/cryptodevs/qat.rst
> @@ -273,6 +273,24 @@ allocated while for GEN1 devices, 12 buffers are allocated, plus 1472 bytes over
>  	larger than the input size).
>  
>  
> +Running QAT PMD with minimum threshold for burst size
> +~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +If only a small number or packets can be enqueued. Each enqueue causes an expensive MMIO write.
> +These MMIO write occurrences can be optimised by setting any of the following parameters
> +- qat_sym_enq_threshold
> +- qat_asym_enq_threshold
> +- qat_comp_enq_threshold
> +When any of these parameters is set rte_cryptodev_enqueue_burst function will
> +return 0 (thereby avoiding an MMIO) if the device is congested and number of packets
> +possible to enqueue is smaller.
> +To use this feature the user must set the parameter on process start as a device additional parameter:
> + .example: '-w 03:01.1,qat_sym_enq_threshold=32,qat_comp_enq_threshold=16'
> +All parameters can be used with the same device regardless of order. Parameters are separated
> +by comma. When the same parameter is used more than once first occurrence of the parameter
> +is used.
> +Maximum threshold that can be set is 32.
> +
>  Device and driver naming
>  ~~~~~~~~~~~~~~~~~~~~~~~

Normally I wouldn't accept a patch that adds new command line features,
but given it's restricted to a single PMD _and_ the feature is present
in the first short term release after 19.11 (20.02) thus allowing non-
breaking upgrades, I'll merge the series.

-- 
Kind regards,
Luca Boccassi


More information about the stable mailing list