examples/accel_perf: move some code around in prep for upcoming patches
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: I81f4e9c783a6ce7377ac4da7f814574df1078a74 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5491 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com>
This commit is contained in:
parent
ac9a1a8373
commit
fab40895ab
@ -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
|
static void
|
||||||
_free_task(struct ap_task *task)
|
_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
|
static void
|
||||||
_accel_done(void *arg1)
|
_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
|
static int
|
||||||
dump_result(void)
|
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
|
static void
|
||||||
_init_thread(void *arg1)
|
_init_thread(void *arg1)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user