Spdk/lib/idxd
John Kariuki 1d4628efc9 lib/idxd: change max idxd completions processed
This patch fixes issue # 2809, by changing the max
completions processed per poll. A new parameter called
IDXD_MAX_COMPLETIONS is used to set maximum completions
processed per poll to 128 because we observed performance
degradation on a system with 16 NVMe SSDs at a queue depth
of 64 per SSD. When using DSA to compute the data digest,
the target application can issue upto 1024(16x64) request
to compute data digest concurrently to DSA. Limiting the
maximum completions processed per poll to 32 using
DESC_PER_BATCH cause up to 43% IOPS degradation.
Use IDXD_MAX_COMPLETIONS to control the number of
completions proccessed per poll in spdk_idxd_process_event
based on your workload. For example, if your application
is issuing 1000s of concurrent request to DSA you might
want to set IDXD_MAX_COMPLETIONS to a value higher than
128.

Change-Id: I2a1db993283a83a20266f40dac851728d63e6127
Signed-off-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15801
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-12-08 12:55:58 +00:00
..
idxd_internal.h lib/idxd: use physical address for IAA aecs table 2022-12-08 12:55:27 +00:00
idxd_kernel.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
idxd_user.c lib/idxd: use physical address for IAA aecs table 2022-12-08 12:55:27 +00:00
idxd.c lib/idxd: change max idxd completions processed 2022-12-08 12:55:58 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00
spdk_idxd.map lib/map file: Optimized some indentation formats 2022-12-05 09:43:30 +00:00