Spdk/module
Alexey Marchuk 8f36853a84 dpdk_cryptodev: Check queue capacity before submitting a task
When we submit more tasks than supported by qp,
extra tasks are queued on io_channel. Later completion
poller tries to resubmit these tasks one by one. That
is not efficient since every enqueu_burst may cause
doorbell updates in HW.

Instead add a check for qpir capacity and submit
appropriate number of requests. If qpair is full,
tasks are queued in dedicated list. This approach
should remove or minimize the need to resubmit
individual crypto operations.

This also handles a case where there are no entries
in global pools (crypto_ops or rte_mbuf)

Fixes issue #2756

Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com>
Change-Id: Iab50e623e7a82a4f5bef7a1e4434e593240ab633
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15769
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2023-01-18 18:19:50 +00:00
..
accel dpdk_cryptodev: Check queue capacity before submitting a task 2023-01-18 18:19:50 +00:00
bdev bdev/nvme: Add an option for the RDMA SRQ size 2023-01-17 23:53:01 +00:00
blob blob: Use bdev copy command in CoW flow if supported 2022-12-08 12:54:54 +00:00
blobfs build: compile API functions with missing deps 2022-11-18 08:40:05 +00:00
env_dpdk update Intel copyright notices 2022-11-10 08:28:53 +00:00
event accel: add iobuf channel to accel channel 2023-01-09 12:37:37 +00:00
scheduler update Intel copyright notices 2022-11-10 08:28:53 +00:00
sock sock/ssl: call SSL_shutdown() prior to closing fd 2022-12-15 08:37:49 +00:00
vfu_device module/vfu_virtio: add IO path debug flag 2023-01-16 08:22:08 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00