mbox series

[v8,00/10] drivers/qat: QAT symmetric crypto datapatch rework

Message ID 20220217162909.22713-1-kai.ji@intel.com (mailing list archive)
Headers
Series drivers/qat: QAT symmetric crypto datapatch rework |

Message

Ji, Kai Feb. 17, 2022, 4:28 p.m. UTC
  This patch reworks QAT symmetric crypto datapatch implementation where each
generation request building separated and the crypto operation under the
raw datapath api implementation are unified.

In addtion this patchset also enables QAT OOP support in raw datapath api
implementation.

v8:
- rebase to 22.03-rc1

v7:
- fix of pointer cast compile error in x86

v6:
- fix of pointer cast error in x86
- rebase to the lastest for-main

v5:
- rebase to the latest for-main
- patchset reconstruct

v4:
- patchset break down and reconstruct

v3:
- sperate a single patch 6 to two different patches

v2:
- review comments addressed

Kai Ji (10):
  common/qat: define build op request and dequeue op
  crypto/qat: sym build op request specific implementation
  crypto/qat: qat generation specific enqueue
  crypto/qat: rework session APIs
  crypto/qat: rework asymmetric crypto build operation
  crypto/qat: unify qat sym pmd apis
  crypto/qat: unify qat asym pmd apis
  crypto/qat: op burst data path rework
  crypto/qat: raw dp api integration
  crypto/qat: support out of place SG list

 drivers/common/qat/meson.build               |   6 +-
 drivers/common/qat/qat_device.c              |   4 +-
 drivers/common/qat/qat_qp.c                  |  42 +-
 drivers/common/qat/qat_qp.h                  |  54 +-
 drivers/compress/qat/qat_comp_pmd.c          |  14 +-
 drivers/crypto/qat/dev/qat_asym_pmd_gen1.c   |   9 +-
 drivers/crypto/qat/dev/qat_crypto_pmd_gen2.c |  93 +-
 drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c | 490 ++++++++-
 drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c | 257 ++++-
 drivers/crypto/qat/dev/qat_crypto_pmd_gens.h | 913 ++++++++++++++++-
 drivers/crypto/qat/dev/qat_sym_pmd_gen1.c    | 942 +++++++++++++++++-
 drivers/crypto/qat/qat_asym.c                | 303 +++++-
 drivers/crypto/qat/qat_asym.h                |  79 +-
 drivers/crypto/qat/qat_asym_pmd.c            | 231 -----
 drivers/crypto/qat/qat_asym_pmd.h            |  54 -
 drivers/crypto/qat/qat_crypto.h              |  16 +-
 drivers/crypto/qat/qat_sym.c                 | 979 ++++++------------
 drivers/crypto/qat/qat_sym.h                 | 148 ++-
 drivers/crypto/qat/qat_sym_hw_dp.c           | 995 -------------------
 drivers/crypto/qat/qat_sym_pmd.c             | 251 -----
 drivers/crypto/qat/qat_sym_pmd.h             |  95 --
 drivers/crypto/qat/qat_sym_session.c         | 115 +--
 drivers/crypto/qat/qat_sym_session.h         |  15 +-
 23 files changed, 3582 insertions(+), 2523 deletions(-)
 delete mode 100644 drivers/crypto/qat/qat_asym_pmd.c
 delete mode 100644 drivers/crypto/qat/qat_asym_pmd.h
 delete mode 100644 drivers/crypto/qat/qat_sym_hw_dp.c
 delete mode 100644 drivers/crypto/qat/qat_sym_pmd.c
 delete mode 100644 drivers/crypto/qat/qat_sym_pmd.h

--
2.17.1
  

Comments

Akhil Goyal Feb. 17, 2022, 5:59 p.m. UTC | #1
> ----------------------------------------------------------------------
> This patch reworks QAT symmetric crypto datapatch implementation where
> each
> generation request building separated and the crypto operation under the
> raw datapath api implementation are unified.
> 
> In addtion this patchset also enables QAT OOP support in raw datapath api
> implementation.
> 
> v8:
> - rebase to 22.03-rc1
> 
> v7:
> - fix of pointer cast compile error in x86
> 
> v6:
> - fix of pointer cast error in x86
> - rebase to the lastest for-main
> 
> v5:
> - rebase to the latest for-main
> - patchset reconstruct
> 
> v4:
> - patchset break down and reconstruct
> 
> v3:
> - sperate a single patch 6 to two different patches
> 
> v2:
> - review comments addressed
> 
> Kai Ji (10):
>   common/qat: define build op request and dequeue op
>   crypto/qat: sym build op request specific implementation
>   crypto/qat: qat generation specific enqueue
>   crypto/qat: rework session APIs
>   crypto/qat: rework asymmetric crypto build operation
>   crypto/qat: unify qat sym pmd apis
>   crypto/qat: unify qat asym pmd apis
>   crypto/qat: op burst data path rework
>   crypto/qat: raw dp api integration
>   crypto/qat: support out of place SG list

Reword the  patch titles as follows.
crypto/qat: support out of place SG list
crypto/qat: unify raw data path functions
crypto/qat: rework burst data path
crypto/qat: unify asymmetric functions
crypto/qat: unify symmetric functions
crypto/qat: rework asymmetric op build operation
crypto/qat: rework session functions
crypto/qat: add generation specific enqueue
crypto/qat: support symmetric build op request
common/qat: define build request and dequeue ops

Infact I changed some of the descriptions also.
Please reword the descriptions also.

> 
>  drivers/common/qat/meson.build               |   6 +-
>  drivers/common/qat/qat_device.c              |   4 +-
>  drivers/common/qat/qat_qp.c                  |  42 +-
>  drivers/common/qat/qat_qp.h                  |  54 +-
>  drivers/compress/qat/qat_comp_pmd.c          |  14 +-
>  drivers/crypto/qat/dev/qat_asym_pmd_gen1.c   |   9 +-
>  drivers/crypto/qat/dev/qat_crypto_pmd_gen2.c |  93 +-
>  drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c | 490 ++++++++-
>  drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c | 257 ++++-
>  drivers/crypto/qat/dev/qat_crypto_pmd_gens.h | 913 ++++++++++++++++-
>  drivers/crypto/qat/dev/qat_sym_pmd_gen1.c    | 942 +++++++++++++++++-
>  drivers/crypto/qat/qat_asym.c                | 303 +++++-
>  drivers/crypto/qat/qat_asym.h                |  79 +-
>  drivers/crypto/qat/qat_asym_pmd.c            | 231 -----
>  drivers/crypto/qat/qat_asym_pmd.h            |  54 -
>  drivers/crypto/qat/qat_crypto.h              |  16 +-
>  drivers/crypto/qat/qat_sym.c                 | 979 ++++++------------
>  drivers/crypto/qat/qat_sym.h                 | 148 ++-
>  drivers/crypto/qat/qat_sym_hw_dp.c           | 995 -------------------
>  drivers/crypto/qat/qat_sym_pmd.c             | 251 -----
>  drivers/crypto/qat/qat_sym_pmd.h             |  95 --
>  drivers/crypto/qat/qat_sym_session.c         | 115 +--
>  drivers/crypto/qat/qat_sym_session.h         |  15 +-
>  23 files changed, 3582 insertions(+), 2523 deletions(-)
>  delete mode 100644 drivers/crypto/qat/qat_asym_pmd.c
>  delete mode 100644 drivers/crypto/qat/qat_asym_pmd.h
>  delete mode 100644 drivers/crypto/qat/qat_sym_hw_dp.c
>  delete mode 100644 drivers/crypto/qat/qat_sym_pmd.c
>  delete mode 100644 drivers/crypto/qat/qat_sym_pmd.h
> 
Individual patches do not compile

ninja: Entering directory `./build-gcc-shared'
[9/9] Linking target drivers/librte_common_qat.so.22.1.
ninja: Entering directory `./build-clang-static'
[1/27] Compiling C object 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen4.c.o'.
FAILED: drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen4.c.o
clang -Idrivers/a715181@@tmp_rte_common_qat@sta -Idrivers -I../drivers -Idrivers/common/qat -I../drivers/common/qat -I../drivers/common/qat/qat_adf -I../drivers/common/qat/../../crypto/qat -I../drivers/common/qat/../../compress/qat -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -I. -I../ -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/telemetry/../metrics -I../lib/telemetry/../metrics -Ilib/telemetry -I../lib/telemetry -Ilib/pci -I../lib/pci -Ilib/cryptodev -I../lib/cryptodev -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/rcu -I../lib/rcu -Ilib/net -I../lib/net -Ilib/compressdev -I../lib/compressdev -Ilib/security -I../lib/security -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 -g -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DBUILD_QAT_SYM -DBUILD_QAT_ASYM -DRTE_LOG_DEFAULT_LOGTYPE=pmd.common.qat -MD -MQ 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen4.c.o' -MF 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen4.c.o.d' -o 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen4.c.o' -c ../drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c
../drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c:107:1: error: unused function 'enqueue_one_aead_job_gen4' [-Werror,-Wunused-function]
enqueue_one_aead_job_gen4(struct qat_sym_session *ctx,
^
1 error generated.
[2/27] Compiling C object 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen3.c.o'.
FAILED: drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen3.c.o
clang -Idrivers/a715181@@tmp_rte_common_qat@sta -Idrivers -I../drivers -Idrivers/common/qat -I../drivers/common/qat -I../drivers/common/qat/qat_adf -I../drivers/common/qat/../../crypto/qat -I../drivers/common/qat/../../compress/qat -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -I. -I../ -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/telemetry/../metrics -I../lib/telemetry/../metrics -Ilib/telemetry -I../lib/telemetry -Ilib/pci -I../lib/pci -Ilib/cryptodev -I../lib/cryptodev -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/rcu -I../lib/rcu -Ilib/net -I../lib/net -Ilib/compressdev -I../lib/compressdev -Ilib/security -I../lib/security -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 -g -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DBUILD_QAT_SYM -DBUILD_QAT_ASYM -DRTE_LOG_DEFAULT_LOGTYPE=pmd.common.qat -MD -MQ 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen3.c.o' -MF 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen3.c.o.d' -o 'drivers/a715181@@tmp_rte_common_qat@sta/crypto_qat_dev_qat_crypto_pmd_gen3.c.o' -c ../drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c
../drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c:147:1: error: unused function 'enqueue_one_aead_job_gen3' [-Werror,-Wunused-function]
enqueue_one_aead_job_gen3(struct qat_sym_session *ctx,
^
../drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c:178:1: error: unused function 'enqueue_one_auth_job_gen3' [-Werror,-Wunused-function]
enqueue_one_auth_job_gen3(struct qat_sym_session *ctx,
^
2 errors generated.
ninja: build stopped: subcommand failed.