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

accel: add seq pointer to task data type



Accel driver might need to internally queue the sequences. However,
sequence type is opaque and there is no access to its internal link.
By adding sequence pointer to task data type (which is already public)
task's link can be used to achive that.

Exposing sequence type to public is problematic due to few factors.
Mostly it is because it uses few data types which are not yet public
and due to general rule that implemenation details shall be hidden
from the end accel users to not create unnecessary dependencies.

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


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
parent 24735966
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ enum spdk_accel_aux_iov_type {

struct spdk_accel_task {
	struct accel_io_channel		*accel_ch;
	struct spdk_accel_sequence	*seq;
	spdk_accel_completion_cb	cb_fn;
	void				*cb_arg;
	spdk_accel_step_cb		step_cb_fn;
+2 −0
Original line number Diff line number Diff line
@@ -280,6 +280,7 @@ spdk_accel_task_complete(struct spdk_accel_task *accel_task, int status)
	 * allocate accel_task in user's call back function (cb_fn)
	 */
	TAILQ_INSERT_HEAD(&accel_ch->task_pool, accel_task, link);
	accel_task->seq = NULL;

	accel_update_task_stats(accel_ch, accel_task, executed, 1);
	accel_update_task_stats(accel_ch, accel_task, num_bytes, accel_task->nbytes);
@@ -866,6 +867,7 @@ accel_sequence_get_task(struct accel_io_channel *ch, struct spdk_accel_sequence

	task->step_cb_fn = cb_fn;
	task->step_cb_arg = cb_arg;
	task->seq = seq;

	return task;
}