Commit 3bc8e6a2 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

accel: add utility to put task



There is similar utility (_get_task) already. It is a prework for
further changes for tracking stat under this function.

Change-Id: I8cee55a7937f6bd77e3b416a3e1830e779ebf6e8
Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24038


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent 2dba7399
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -295,6 +295,12 @@ _get_task(struct accel_io_channel *accel_ch, spdk_accel_completion_cb cb_fn, voi
	return accel_task;
}

static void
_put_task(struct accel_io_channel *ch, struct spdk_accel_task *task)
{
	STAILQ_INSERT_HEAD(&ch->task_pool, task, link);
}

void
spdk_accel_task_complete(struct spdk_accel_task *accel_task, int status)
{
@@ -326,7 +332,7 @@ spdk_accel_task_complete(struct spdk_accel_task *accel_task, int status)
	 * the accel task list is exhausted when there is recursive call to
	 * allocate accel_task in user's call back function (cb_fn)
	 */
	STAILQ_INSERT_HEAD(&accel_ch->task_pool, accel_task, link);
	_put_task(accel_ch, accel_task);

	cb_fn(cb_arg, status);
}
@@ -364,7 +370,7 @@ do { \
        (task)->aux = SLIST_FIRST(&(task)->accel_ch->task_aux_data_pool);	\
        if (spdk_unlikely(!(task)->aux)) {					\
                SPDK_ERRLOG("Fatal problem, aux data was not allocated\n");	\
                STAILQ_INSERT_HEAD(&(task)->accel_ch->task_pool, (task), link);	\
                _put_task(task->accel_ch, task);				\
                assert(0);							\
                return -ENOMEM;							\
        }									\
@@ -1092,8 +1098,9 @@ spdk_accel_append_fill(struct spdk_accel_sequence **pseq, struct spdk_io_channel
		if (*pseq == NULL) {
			accel_sequence_put((seq));
		}
		STAILQ_INSERT_HEAD(&task->accel_ch->task_pool, task, link);

		task->seq = NULL;
		_put_task(task->accel_ch, task);
		assert(0);
		return -ENOMEM;
	}
@@ -1364,7 +1371,9 @@ accel_sequence_complete_task(struct spdk_accel_sequence *seq, struct spdk_accel_
		task->aux = NULL;
		task->has_aux = false;
	}
	STAILQ_INSERT_HEAD(&ch->task_pool, task, link);

	_put_task(ch, task);

	if (cb_fn != NULL) {
		cb_fn(cb_arg);
	}