accel: functions to iterate over tasks in a sequence
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I97f011b7eaa7db7e9a9df583aff23321d60bb72f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16378 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
02e8b81bb6
commit
914007c1c6
@ -236,4 +236,23 @@ bool spdk_accel_alloc_sequence_buf(struct spdk_accel_sequence *seq, void *buf,
|
||||
struct spdk_memory_domain *domain, void *domain_ctx,
|
||||
spdk_accel_sequence_get_buf_cb cb_fn, void *cb_ctx);
|
||||
|
||||
/**
|
||||
* Returns the first task remaining to be executed in a given sequence.
|
||||
*
|
||||
* \param seq Sequence object.
|
||||
*
|
||||
* \return the first remaining task or NULL if all tasks are already completed.
|
||||
*/
|
||||
struct spdk_accel_task *spdk_accel_sequence_first_task(struct spdk_accel_sequence *seq);
|
||||
|
||||
/**
|
||||
* Returns the next remaining task that follows a given task in a sequence.
|
||||
*
|
||||
* \param task Accel task. This task must be still oustanding (i.e. it wasn't completed through
|
||||
* `spdk_accel_task_complete()`).
|
||||
*
|
||||
* \return the next task or NULL if `task` was the last task in a sequence.
|
||||
*/
|
||||
struct spdk_accel_task *spdk_accel_sequence_next_task(struct spdk_accel_task *task);
|
||||
|
||||
#endif
|
||||
|
@ -1253,6 +1253,18 @@ spdk_accel_alloc_sequence_buf(struct spdk_accel_sequence *seq, void *buf,
|
||||
return true;
|
||||
}
|
||||
|
||||
struct spdk_accel_task *
|
||||
spdk_accel_sequence_first_task(struct spdk_accel_sequence *seq)
|
||||
{
|
||||
return TAILQ_FIRST(&seq->tasks);
|
||||
}
|
||||
|
||||
struct spdk_accel_task *
|
||||
spdk_accel_sequence_next_task(struct spdk_accel_task *task)
|
||||
{
|
||||
return TAILQ_NEXT(task, seq_link);
|
||||
}
|
||||
|
||||
static inline uint64_t
|
||||
accel_get_iovlen(struct iovec *iovs, uint32_t iovcnt)
|
||||
{
|
||||
|
@ -43,6 +43,8 @@
|
||||
spdk_accel_driver_register;
|
||||
spdk_accel_get_memory_domain;
|
||||
spdk_accel_alloc_sequence_buf;
|
||||
spdk_accel_sequence_first_task;
|
||||
spdk_accel_sequence_next_task;
|
||||
|
||||
local: *;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user