From fab40895ab2d0612396d26fc85d3300ea4233553 Mon Sep 17 00:00:00 2001 From: paul luse Date: Tue, 8 Dec 2020 14:27:34 -0500 Subject: [PATCH] examples/accel_perf: move some code around in prep for upcoming patches Signed-off-by: paul luse Change-Id: I81f4e9c783a6ce7377ac4da7f814574df1078a74 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5491 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Reviewed-by: Ziye Yang --- examples/accel/perf/accel_perf.c | 89 ++++++++++++++++---------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/examples/accel/perf/accel_perf.c b/examples/accel/perf/accel_perf.c index 8df008a53..3daaaed52 100644 --- a/examples/accel/perf/accel_perf.c +++ b/examples/accel/perf/accel_perf.c @@ -307,6 +307,41 @@ _submit_single(struct worker_thread *worker, struct ap_task *task) } } +static int +_batch_prep_cmd(struct worker_thread *worker, struct ap_task *task, struct spdk_accel_batch *batch) +{ + int rc = 0; + + switch (g_workload_selection) { + case ACCEL_COPY: + rc = spdk_accel_batch_prep_copy(worker->ch, batch, task->dst, + task->src, g_xfer_size_bytes, accel_done, task); + break; + case ACCEL_DUALCAST: + rc = spdk_accel_batch_prep_dualcast(worker->ch, batch, task->dst, task->dst2, + task->src, g_xfer_size_bytes, accel_done, task); + break; + case ACCEL_COMPARE: + rc = spdk_accel_batch_prep_compare(worker->ch, batch, task->dst, task->src, + g_xfer_size_bytes, accel_done, task); + break; + case ACCEL_FILL: + rc = spdk_accel_batch_prep_fill(worker->ch, batch, task->dst, + *(uint8_t *)task->src, + g_xfer_size_bytes, accel_done, task); + break; + case ACCEL_CRC32C: + rc = spdk_accel_batch_prep_crc32c(worker->ch, batch, (uint32_t *)task->dst, + task->src, g_crc32c_seed, g_xfer_size_bytes, accel_done, task); + break; + default: + assert(false); + break; + } + + return rc; +} + static void _free_task(struct ap_task *task) { @@ -317,6 +352,16 @@ _free_task(struct ap_task *task) } } +static void +batch_done(void *cb_arg, int status) +{ + struct ap_task *task = (struct ap_task *)cb_arg; + struct worker_thread *worker = task->worker; + + worker->current_queue_depth--; + TAILQ_INSERT_TAIL(&worker->tasks_pool, task, link); +} + static void _accel_done(void *arg1) { @@ -384,15 +429,6 @@ _accel_done(void *arg1) } } -static void -batch_done(void *cb_arg, int status) -{ - struct ap_task *task = (struct ap_task *)cb_arg; - struct worker_thread *worker = task->worker; - - worker->current_queue_depth--; -} - static int dump_result(void) { @@ -475,41 +511,6 @@ _init_thread_done(void *ctx) { } -static int -_batch_prep_cmd(struct worker_thread *worker, struct ap_task *task, struct spdk_accel_batch *batch) -{ - int rc = 0; - - switch (g_workload_selection) { - case ACCEL_COPY: - rc = spdk_accel_batch_prep_copy(worker->ch, batch, task->dst, - task->src, g_xfer_size_bytes, accel_done, task); - break; - case ACCEL_DUALCAST: - rc = spdk_accel_batch_prep_dualcast(worker->ch, batch, task->dst, task->dst2, - task->src, g_xfer_size_bytes, accel_done, task); - break; - case ACCEL_COMPARE: - rc = spdk_accel_batch_prep_compare(worker->ch, batch, task->dst, task->src, - g_xfer_size_bytes, accel_done, task); - break; - case ACCEL_FILL: - rc = spdk_accel_batch_prep_fill(worker->ch, batch, task->dst, - *(uint8_t *)task->src, - g_xfer_size_bytes, accel_done, task); - break; - case ACCEL_CRC32C: - rc = spdk_accel_batch_prep_crc32c(worker->ch, batch, (uint32_t *)task->dst, - task->src, g_crc32c_seed, g_xfer_size_bytes, accel_done, task); - break; - default: - assert(false); - break; - } - - return rc; -} - static void _init_thread(void *arg1) {