public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] virtio-crypto: Improve performance
@ 2022-04-21 10:40 zhenwei pi
  2022-04-21 10:40 ` [PATCH v3 1/5] virtio-crypto: use private buffer for control request zhenwei pi
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: zhenwei pi @ 2022-04-21 10:40 UTC (permalink / raw)
  To: arei.gonglei, mst
  Cc: jasowang, herbert, linux-kernel, virtualization, linux-crypto,
	helei.sig11, davem, zhenwei pi

v2 -> v3:
 - Jason suggested that spliting the first patch into two part:
     1, using private buffer
     2, remove the busy polling
   Rework as Jason's suggestion, this makes the smaller change in
   each one and clear.

v1 -> v2:
 - Use kfree instead of kfree_sensitive for insensitive buffer.
 - Several coding style fix.
 - Use memory from current node, instead of memory close to device
 - Add more message in commit, also explain why removing per-device
   request buffer.
 - Add necessary comment in code to explain why using kzalloc to
   allocate struct virtio_crypto_ctrl_request.

v1:
The main point of this series is to improve the performance for
virtio crypto:
- Use wait mechanism instead of busy polling for ctrl queue, this
  reduces CPU and lock racing, it's possiable to create/destroy session
  parallelly, QPS increases from ~40K/s to ~200K/s.
- Enable retry on crypto engine to improve performance for data queue,
  this allows the larger depth instead of 1.
- Fix dst data length in akcipher service.
- Other style fix.

lei he (2):
  virtio-crypto: adjust dst_len at ops callback
  virtio-crypto: enable retry for virtio-crypto-dev

zhenwei pi (3):
  virtio-crypto: use private buffer for control request
  virtio-crypto: wait ctrl queue instead of busy polling
  virtio-crypto: move helpers into virtio_crypto_common.c

 drivers/crypto/virtio/Makefile                |   1 +
 .../virtio/virtio_crypto_akcipher_algs.c      |  95 ++++++-------
 drivers/crypto/virtio/virtio_crypto_common.c  |  92 ++++++++++++
 drivers/crypto/virtio/virtio_crypto_common.h  |  29 +++-
 drivers/crypto/virtio/virtio_crypto_core.c    |  37 +----
 .../virtio/virtio_crypto_skcipher_algs.c      | 133 ++++++++----------
 6 files changed, 226 insertions(+), 161 deletions(-)
 create mode 100644 drivers/crypto/virtio/virtio_crypto_common.c

-- 
2.20.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-04-24 10:46 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-21 10:40 [PATCH v3 0/5] virtio-crypto: Improve performance zhenwei pi
2022-04-21 10:40 ` [PATCH v3 1/5] virtio-crypto: use private buffer for control request zhenwei pi
2022-04-22  7:41   ` Jason Wang
2022-04-22  9:08     ` zhenwei pi
2022-04-24  6:21       ` Jason Wang
2022-04-24 10:42         ` zhenwei pi
2022-04-21 10:40 ` [PATCH v3 2/5] virtio-crypto: wait ctrl queue instead of busy polling zhenwei pi
2022-04-22  7:46   ` Jason Wang
2022-04-22  8:32     ` zhenwei pi
2022-04-21 10:40 ` [PATCH v3 3/5] virtio-crypto: move helpers into virtio_crypto_common.c zhenwei pi
2022-04-21 10:40 ` [PATCH v3 4/5] virtio-crypto: adjust dst_len at ops callback zhenwei pi
2022-04-21 13:46   ` Gonglei (Arei)
2022-04-22  6:58     ` [External] " 何磊
2022-04-21 10:40 ` [PATCH v3 5/5] virtio-crypto: enable retry for virtio-crypto-dev zhenwei pi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox