[for-8.0 v2 00/11] Refactor cryptodev

zhenwei pi posted 11 patches 2 weeks, 2 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221122140756.686982-1-pizhenwei@bytedance.com
Maintainers: "Gonglei (Arei)" <arei.gonglei@huawei.com>, Zhenwei Pi <pizhenwei@bytedance.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, Michael Roth <michael.roth@amd.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>
MAINTAINERS                     |   2 +
backends/cryptodev-builtin.c    |  42 +++--
backends/cryptodev-lkcf.c       |  19 +-
backends/cryptodev-vhost-user.c |  13 +-
backends/cryptodev-vhost.c      |   4 +-
backends/cryptodev.c            | 295 +++++++++++++++++++++++++++++---
hmp-commands-info.hx            |  14 ++
hw/virtio/virtio-crypto.c       |  48 ++++--
include/monitor/hmp.h           |   1 +
include/sysemu/cryptodev.h      |  94 +++++-----
monitor/hmp-cmds.c              |  36 ++++
qapi/cryptodev.json             | 144 ++++++++++++++++
qapi/meson.build                |   1 +
qapi/qapi-schema.json           |   1 +
qapi/qom.json                   |   8 +-
15 files changed, 604 insertions(+), 118 deletions(-)
create mode 100644 qapi/cryptodev.json
[for-8.0 v2 00/11] Refactor cryptodev
Posted by zhenwei pi 2 weeks, 2 days ago
v1 -> v2:
- fix coding style and use 'g_strjoin()' instead of 'char services[128]'
  (suggested by Dr. David Alan Gilbert)
- wrapper function 'cryptodev_backend_account' to record statistics, and
  allocate sym_stat/asym_stat in cryptodev base class. see patch:
  'cryptodev: Support statistics'.
- add more arguments into struct CryptoDevBackendOpInfo, then
  cryptodev_backend_crypto_operation() uses *op_info only.
- support cryptodev QoS settings(BPS&OPS), both QEMU command line and QMP
  command works fine.
- add myself as the maintainer for cryptodev.

v1:
- introduce cryptodev.json to describe the attributes of crypto device, then
  drop duplicated type declare, remove some virtio related dependence.
- add statistics: OPS and bandwidth.
- add QMP command: query-cryptodev
- add HMP info command: cryptodev
- misc fix: detect akcipher capability instead of exposing akcipher service
  unconditionally.

Zhenwei Pi (11):
  cryptodev: Introduce cryptodev.json
  cryptodev: Remove 'name' & 'model' fields
  cryptodev: Introduce cryptodev alg type in QAPI
  cryptodev: Introduce server type in QAPI
  cryptodev: Introduce 'query-cryptodev' QMP command
  cryptodev: Support statistics
  cryptodev-builtin: Detect akcipher capability
  hmp: add cryptodev info command
  cryptodev: Use CryptoDevBackendOpInfo for operation
  cryptodev: support QoS
  MAINTAINERS: add myself as the maintainer for cryptodev

 MAINTAINERS                     |   2 +
 backends/cryptodev-builtin.c    |  42 +++--
 backends/cryptodev-lkcf.c       |  19 +-
 backends/cryptodev-vhost-user.c |  13 +-
 backends/cryptodev-vhost.c      |   4 +-
 backends/cryptodev.c            | 295 +++++++++++++++++++++++++++++---
 hmp-commands-info.hx            |  14 ++
 hw/virtio/virtio-crypto.c       |  48 ++++--
 include/monitor/hmp.h           |   1 +
 include/sysemu/cryptodev.h      |  94 +++++-----
 monitor/hmp-cmds.c              |  36 ++++
 qapi/cryptodev.json             | 144 ++++++++++++++++
 qapi/meson.build                |   1 +
 qapi/qapi-schema.json           |   1 +
 qapi/qom.json                   |   8 +-
 15 files changed, 604 insertions(+), 118 deletions(-)
 create mode 100644 qapi/cryptodev.json

-- 
2.20.1