Skip to content

crypto: iaa - rework the WQ selection tables

Vinicius Costa Gomes linux-crypto lkml 1 version In review

Get series with b4
b4 am [email protected] change-id 20261008-iaa-crypto-wq-tables-4e5911143017

Versions newest first

  1. v1 Latest4 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4crypto: iaa - carry the iaa_wq in the requestdrivers/crypto/intel/iaa/iaa_crypto_main.c+8 -40 replies
2/4crypto: iaa - take the WQ from the request in the submit helpersdrivers/crypto/intel/iaa/iaa_crypto_main.c+11 -100 replies
3/4crypto: iaa - use RCU per-package WQ tablesdrivers/crypto/intel/iaa/iaa_crypto.h drivers/crypto/intel/iaa/iaa_crypto_main.c+117 -2361 reply
4/4crypto: iaa - keep each CPU on one WQ for decompressiondrivers/crypto/intel/iaa/iaa_crypto_main.c+34 -60 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] crypto: iaa - rework the WQ selection tables

iaa_crypto maps each CPU to a single IAA device through a flat CPU index, which ignores packages (where the actual IAA devices live) and leaves other IAA devices in the package idle.

Patches 1-2 make the request carry the IAA workqueue representation ('iaa_wq') it holds a reference on, instead of looking it up again. Patch 3 replaces the per-CPU WQ table with per-package tables published with RCU, and patch 4 keeps each CPU on one WQ for decompression.

Patches 1-3 are meant more of a simplification, to make the code easier to reason about. Patch 4 is "low hanging" optimization (because decompressions are very fast, they benefit when the same CPU uses the same engine). Future work will introduce more complex optimizations.

---
Vinicius Costa Gomes (4):
crypto: iaa - carry the iaa_wq in the request
crypto: iaa - take the WQ from the request in the submit helpers
crypto: iaa - use RCU per-package WQ tables
crypto: iaa - keep each CPU on one WQ for decompression

 drivers/crypto/intel/iaa/iaa_crypto.h      |   7 -
 drivers/crypto/intel/iaa/iaa_crypto_main.c | 393 ++++++++++++-----------------
 2 files changed, 157 insertions(+), 243 deletions(-)

---
base-commit: 178aff4cf425b3fc51ff09c571fa1bfbc1eb8ea4
base-tree: git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
change-id: 20261008-iaa-crypto-wq-tables-4e5911143017

Best regards,

Signature · 1 line
Vinicius