From 95e4b24d5edf65f7e4c1ae417447f1f0c03f339e Mon Sep 17 00:00:00 2001 From: paul luse Date: Thu, 19 Aug 2021 16:00:53 -0400 Subject: [PATCH] module/accel/idxd: don't increment flow control on submission error Shouldn't really ever happen but is somehow things get out of whack and we get a busy back from the low level lib we don't want to increment our flow control counter. Signed-off-by: paul luse Change-Id: I49176e8ad2bf6f658ac970efea5db89eebc747f1 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9232 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Reviewed-by: Tomasz Zawadzki Reviewed-by: Ben Walker --- module/accel/idxd/accel_engine_idxd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/module/accel/idxd/accel_engine_idxd.c b/module/accel/idxd/accel_engine_idxd.c index 5babc47ae..9bcaab28a 100644 --- a/module/accel/idxd/accel_engine_idxd.c +++ b/module/accel/idxd/accel_engine_idxd.c @@ -144,7 +144,6 @@ _process_single_task(struct spdk_io_channel *ch, struct spdk_accel_task *task) chan->state = IDXD_CHANNEL_PAUSED; return -EBUSY; } - chan->num_outstanding++; switch (task->op_code) { case ACCEL_OPCODE_MEMMOVE: @@ -178,6 +177,10 @@ _process_single_task(struct spdk_io_channel *ch, struct spdk_accel_task *task) break; } + if (rc == 0) { + chan->num_outstanding++; + } + return rc; }