accel_perf: Add _free_task_buffers_in_pool function.
This function is used to eliminate the duplicated code. Also rename _free_task to _free_task_buffers to make it easy to understand the code. Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id: I2ef9dbbb81c12c229952f5590f616a17dc2fe087 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6128 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
b34883e07b
commit
e150f6b8b7
@ -370,7 +370,7 @@ _batch_prep_cmd(struct worker_thread *worker, struct ap_task *task,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_free_task(struct ap_task *task)
|
_free_task_buffers(struct ap_task *task)
|
||||||
{
|
{
|
||||||
spdk_dma_free(task->src);
|
spdk_dma_free(task->src);
|
||||||
spdk_dma_free(task->dst);
|
spdk_dma_free(task->dst);
|
||||||
@ -616,19 +616,27 @@ dump_result(void)
|
|||||||
return total_failed ? 1 : 0;
|
return total_failed ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
_free_task_buffers_in_pool(struct worker_thread *worker)
|
||||||
|
{
|
||||||
|
struct ap_task *task;
|
||||||
|
|
||||||
|
assert(worker);
|
||||||
|
while ((task = TAILQ_FIRST(&worker->tasks_pool))) {
|
||||||
|
TAILQ_REMOVE(&worker->tasks_pool, task, link);
|
||||||
|
_free_task_buffers(task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_check_draining(void *arg)
|
_check_draining(void *arg)
|
||||||
{
|
{
|
||||||
struct worker_thread *worker = arg;
|
struct worker_thread *worker = arg;
|
||||||
struct ap_task *task;
|
|
||||||
|
|
||||||
assert(worker);
|
assert(worker);
|
||||||
|
|
||||||
if (worker->current_queue_depth == 0) {
|
if (worker->current_queue_depth == 0) {
|
||||||
while ((task = TAILQ_FIRST(&worker->tasks_pool))) {
|
_free_task_buffers_in_pool(worker);
|
||||||
TAILQ_REMOVE(&worker->tasks_pool, task, link);
|
|
||||||
_free_task(task);
|
|
||||||
}
|
|
||||||
spdk_poller_unregister(&worker->is_draining_poller);
|
spdk_poller_unregister(&worker->is_draining_poller);
|
||||||
unregister_worker(worker);
|
unregister_worker(worker);
|
||||||
}
|
}
|
||||||
@ -812,10 +820,8 @@ error:
|
|||||||
TAILQ_REMOVE(&worker->in_use_batches, worker_batch, link);
|
TAILQ_REMOVE(&worker->in_use_batches, worker_batch, link);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while ((task = TAILQ_FIRST(&worker->tasks_pool))) {
|
|
||||||
TAILQ_REMOVE(&worker->tasks_pool, task, link);
|
_free_task_buffers_in_pool(worker);
|
||||||
_free_task(task);
|
|
||||||
}
|
|
||||||
free(worker->batch_base);
|
free(worker->batch_base);
|
||||||
free(worker->task_base);
|
free(worker->task_base);
|
||||||
free(worker);
|
free(worker);
|
||||||
|
Loading…
Reference in New Issue
Block a user