lib/accel: rename iovec elements with src prefix

In prep for adding both src and dst iovec support for compression.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I704b8d2bd459de03deb7f8ee45d76261910a3727
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13746
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
paul luse 2022-07-21 14:57:11 -07:00 committed by Jim Harris
parent 100c53718d
commit 28886ac352
6 changed files with 47 additions and 47 deletions

View File

@ -49,8 +49,8 @@ struct display_info {
struct ap_task { struct ap_task {
void *src; void *src;
struct iovec *iovs; struct iovec *src_iovs;
uint32_t iov_cnt; uint32_t src_iovcnt;
void *dst; void *dst;
void *dst2; void *dst2;
uint32_t crc_dst; uint32_t crc_dst;
@ -252,10 +252,10 @@ _get_task_data_bufs(struct ap_task *task)
if (g_workload_selection == ACCEL_OPC_CRC32C || g_workload_selection == ACCEL_OPC_COPY_CRC32C) { if (g_workload_selection == ACCEL_OPC_CRC32C || g_workload_selection == ACCEL_OPC_COPY_CRC32C) {
assert(g_crc32c_chained_count > 0); assert(g_crc32c_chained_count > 0);
task->iov_cnt = g_crc32c_chained_count; task->src_iovcnt = g_crc32c_chained_count;
task->iovs = calloc(task->iov_cnt, sizeof(struct iovec)); task->src_iovs = calloc(task->src_iovcnt, sizeof(struct iovec));
if (!task->iovs) { if (!task->src_iovs) {
fprintf(stderr, "cannot allocated task->iovs fot task=%p\n", task); fprintf(stderr, "cannot allocated task->src_iovs fot task=%p\n", task);
return -ENOMEM; return -ENOMEM;
} }
@ -263,13 +263,13 @@ _get_task_data_bufs(struct ap_task *task)
dst_buff_len = g_xfer_size_bytes * g_crc32c_chained_count; dst_buff_len = g_xfer_size_bytes * g_crc32c_chained_count;
} }
for (i = 0; i < task->iov_cnt; i++) { for (i = 0; i < task->src_iovcnt; i++) {
task->iovs[i].iov_base = spdk_dma_zmalloc(g_xfer_size_bytes, 0, NULL); task->src_iovs[i].iov_base = spdk_dma_zmalloc(g_xfer_size_bytes, 0, NULL);
if (task->iovs[i].iov_base == NULL) { if (task->src_iovs[i].iov_base == NULL) {
return -ENOMEM; return -ENOMEM;
} }
memset(task->iovs[i].iov_base, DATA_PATTERN, g_xfer_size_bytes); memset(task->src_iovs[i].iov_base, DATA_PATTERN, g_xfer_size_bytes);
task->iovs[i].iov_len = g_xfer_size_bytes; task->src_iovs[i].iov_len = g_xfer_size_bytes;
} }
} else { } else {
@ -353,11 +353,11 @@ _submit_single(struct worker_thread *worker, struct ap_task *task)
break; break;
case ACCEL_OPC_CRC32C: case ACCEL_OPC_CRC32C:
rc = spdk_accel_submit_crc32cv(worker->ch, &task->crc_dst, rc = spdk_accel_submit_crc32cv(worker->ch, &task->crc_dst,
task->iovs, task->iov_cnt, g_crc32c_seed, task->src_iovs, task->src_iovcnt, g_crc32c_seed,
accel_done, task); accel_done, task);
break; break;
case ACCEL_OPC_COPY_CRC32C: case ACCEL_OPC_COPY_CRC32C:
rc = spdk_accel_submit_copy_crc32cv(worker->ch, task->dst, task->iovs, task->iov_cnt, rc = spdk_accel_submit_copy_crc32cv(worker->ch, task->dst, task->src_iovs, task->src_iovcnt,
&task->crc_dst, g_crc32c_seed, flags, accel_done, task); &task->crc_dst, g_crc32c_seed, flags, accel_done, task);
break; break;
case ACCEL_OPC_COMPARE: case ACCEL_OPC_COMPARE:
@ -394,13 +394,13 @@ _free_task_buffers(struct ap_task *task)
uint32_t i; uint32_t i;
if (g_workload_selection == ACCEL_OPC_CRC32C || g_workload_selection == ACCEL_OPC_COPY_CRC32C) { if (g_workload_selection == ACCEL_OPC_CRC32C || g_workload_selection == ACCEL_OPC_COPY_CRC32C) {
if (task->iovs) { if (task->src_iovs) {
for (i = 0; i < task->iov_cnt; i++) { for (i = 0; i < task->src_iovcnt; i++) {
if (task->iovs[i].iov_base) { if (task->src_iovs[i].iov_base) {
spdk_dma_free(task->iovs[i].iov_base); spdk_dma_free(task->src_iovs[i].iov_base);
} }
} }
free(task->iovs); free(task->src_iovs);
} }
} else { } else {
spdk_dma_free(task->src); spdk_dma_free(task->src);
@ -413,18 +413,18 @@ _free_task_buffers(struct ap_task *task)
} }
static int static int
_vector_memcmp(void *_dst, struct iovec *src_iovs, uint32_t iovcnt) _vector_memcmp(void *_dst, struct iovec *src_src_iovs, uint32_t iovcnt)
{ {
uint32_t i; uint32_t i;
uint32_t ttl_len = 0; uint32_t ttl_len = 0;
uint8_t *dst = (uint8_t *)_dst; uint8_t *dst = (uint8_t *)_dst;
for (i = 0; i < iovcnt; i++) { for (i = 0; i < iovcnt; i++) {
if (memcmp(dst, src_iovs[i].iov_base, src_iovs[i].iov_len)) { if (memcmp(dst, src_src_iovs[i].iov_base, src_src_iovs[i].iov_len)) {
return -1; return -1;
} }
dst += src_iovs[i].iov_len; dst += src_src_iovs[i].iov_len;
ttl_len += src_iovs[i].iov_len; ttl_len += src_src_iovs[i].iov_len;
} }
if (ttl_len != iovcnt * g_xfer_size_bytes) { if (ttl_len != iovcnt * g_xfer_size_bytes) {
@ -449,18 +449,18 @@ accel_done(void *arg1, int status)
if (g_verify && status == 0) { if (g_verify && status == 0) {
switch (worker->workload) { switch (worker->workload) {
case ACCEL_OPC_COPY_CRC32C: case ACCEL_OPC_COPY_CRC32C:
sw_crc32c = spdk_crc32c_iov_update(task->iovs, task->iov_cnt, ~g_crc32c_seed); sw_crc32c = spdk_crc32c_iov_update(task->src_iovs, task->src_iovcnt, ~g_crc32c_seed);
if (task->crc_dst != sw_crc32c) { if (task->crc_dst != sw_crc32c) {
SPDK_NOTICELOG("CRC-32C miscompare\n"); SPDK_NOTICELOG("CRC-32C miscompare\n");
worker->xfer_failed++; worker->xfer_failed++;
} }
if (_vector_memcmp(task->dst, task->iovs, task->iov_cnt)) { if (_vector_memcmp(task->dst, task->src_iovs, task->src_iovcnt)) {
SPDK_NOTICELOG("Data miscompare\n"); SPDK_NOTICELOG("Data miscompare\n");
worker->xfer_failed++; worker->xfer_failed++;
} }
break; break;
case ACCEL_OPC_CRC32C: case ACCEL_OPC_CRC32C:
sw_crc32c = spdk_crc32c_iov_update(task->iovs, task->iov_cnt, ~g_crc32c_seed); sw_crc32c = spdk_crc32c_iov_update(task->src_iovs, task->src_iovcnt, ~g_crc32c_seed);
if (task->crc_dst != sw_crc32c) { if (task->crc_dst != sw_crc32c) {
SPDK_NOTICELOG("CRC-32C miscompare\n"); SPDK_NOTICELOG("CRC-32C miscompare\n");
worker->xfer_failed++; worker->xfer_failed++;

View File

@ -24,7 +24,7 @@ struct spdk_accel_task {
struct { struct {
struct iovec *iovs; /* iovs passed by the caller */ struct iovec *iovs; /* iovs passed by the caller */
uint32_t iovcnt; /* iovcnt passed by the caller */ uint32_t iovcnt; /* iovcnt passed by the caller */
} v; } s;
void *src; void *src;
}; };
union { union {

View File

@ -267,7 +267,7 @@ spdk_accel_submit_crc32c(struct spdk_io_channel *ch, uint32_t *crc_dst,
accel_task->crc_dst = crc_dst; accel_task->crc_dst = crc_dst;
accel_task->src = src; accel_task->src = src;
accel_task->v.iovcnt = 0; accel_task->s.iovcnt = 0;
accel_task->seed = seed; accel_task->seed = seed;
accel_task->nbytes = nbytes; accel_task->nbytes = nbytes;
accel_task->op_code = ACCEL_OPC_CRC32C; accel_task->op_code = ACCEL_OPC_CRC32C;
@ -303,8 +303,8 @@ spdk_accel_submit_crc32cv(struct spdk_io_channel *ch, uint32_t *crc_dst,
return -ENOMEM; return -ENOMEM;
} }
accel_task->v.iovs = iov; accel_task->s.iovs = iov;
accel_task->v.iovcnt = iov_cnt; accel_task->s.iovcnt = iov_cnt;
accel_task->crc_dst = crc_dst; accel_task->crc_dst = crc_dst;
accel_task->seed = seed; accel_task->seed = seed;
accel_task->op_code = ACCEL_OPC_CRC32C; accel_task->op_code = ACCEL_OPC_CRC32C;
@ -331,7 +331,7 @@ spdk_accel_submit_copy_crc32c(struct spdk_io_channel *ch, void *dst,
accel_task->dst = dst; accel_task->dst = dst;
accel_task->src = src; accel_task->src = src;
accel_task->crc_dst = crc_dst; accel_task->crc_dst = crc_dst;
accel_task->v.iovcnt = 0; accel_task->s.iovcnt = 0;
accel_task->seed = seed; accel_task->seed = seed;
accel_task->nbytes = nbytes; accel_task->nbytes = nbytes;
accel_task->flags = flags; accel_task->flags = flags;
@ -375,8 +375,8 @@ spdk_accel_submit_copy_crc32cv(struct spdk_io_channel *ch, void *dst,
nbytes += src_iovs[i].iov_len; nbytes += src_iovs[i].iov_len;
} }
accel_task->v.iovs = src_iovs; accel_task->s.iovs = src_iovs;
accel_task->v.iovcnt = iov_cnt; accel_task->s.iovcnt = iov_cnt;
accel_task->dst = (void *)dst; accel_task->dst = (void *)dst;
accel_task->crc_dst = crc_dst; accel_task->crc_dst = crc_dst;
accel_task->seed = seed; accel_task->seed = seed;

View File

@ -247,21 +247,21 @@ sw_accel_submit_tasks(struct spdk_io_channel *ch, struct spdk_accel_task *accel_
rc = _sw_accel_compare(accel_task->src, accel_task->src2, accel_task->nbytes); rc = _sw_accel_compare(accel_task->src, accel_task->src2, accel_task->nbytes);
break; break;
case ACCEL_OPC_CRC32C: case ACCEL_OPC_CRC32C:
if (accel_task->v.iovcnt == 0) { if (accel_task->s.iovcnt == 0) {
_sw_accel_crc32c(accel_task->crc_dst, accel_task->src, accel_task->seed, accel_task->nbytes); _sw_accel_crc32c(accel_task->crc_dst, accel_task->src, accel_task->seed, accel_task->nbytes);
} else { } else {
_sw_accel_crc32cv(accel_task->crc_dst, accel_task->v.iovs, accel_task->v.iovcnt, accel_task->seed); _sw_accel_crc32cv(accel_task->crc_dst, accel_task->s.iovs, accel_task->s.iovcnt, accel_task->seed);
} }
break; break;
case ACCEL_OPC_COPY_CRC32C: case ACCEL_OPC_COPY_CRC32C:
rc = _check_flags(accel_task->flags); rc = _check_flags(accel_task->flags);
if (rc == 0) { if (rc == 0) {
if (accel_task->v.iovcnt == 0) { if (accel_task->s.iovcnt == 0) {
_sw_accel_copy(accel_task->dst, accel_task->src, accel_task->nbytes, accel_task->flags); _sw_accel_copy(accel_task->dst, accel_task->src, accel_task->nbytes, accel_task->flags);
_sw_accel_crc32c(accel_task->crc_dst, accel_task->src, accel_task->seed, accel_task->nbytes); _sw_accel_crc32c(accel_task->crc_dst, accel_task->src, accel_task->seed, accel_task->nbytes);
} else { } else {
_sw_accel_copyv(accel_task->dst, accel_task->v.iovs, accel_task->v.iovcnt, accel_task->flags); _sw_accel_copyv(accel_task->dst, accel_task->s.iovs, accel_task->s.iovcnt, accel_task->flags);
_sw_accel_crc32cv(accel_task->crc_dst, accel_task->v.iovs, accel_task->v.iovcnt, accel_task->seed); _sw_accel_crc32cv(accel_task->crc_dst, accel_task->s.iovs, accel_task->s.iovcnt, accel_task->seed);
} }
} }
break; break;

View File

@ -171,27 +171,27 @@ _process_single_task(struct spdk_io_channel *ch, struct spdk_accel_task *task)
idxd_task); idxd_task);
break; break;
case ACCEL_OPC_CRC32C: case ACCEL_OPC_CRC32C:
if (task->v.iovcnt == 0) { if (task->s.iovcnt == 0) {
siov.iov_base = task->src; siov.iov_base = task->src;
siov.iov_len = task->nbytes; siov.iov_len = task->nbytes;
iov = &siov; iov = &siov;
iovcnt = 1; iovcnt = 1;
} else { } else {
iov = task->v.iovs; iov = task->s.iovs;
iovcnt = task->v.iovcnt; iovcnt = task->s.iovcnt;
} }
rc = spdk_idxd_submit_crc32c(chan->chan, iov, iovcnt, task->seed, task->crc_dst, rc = spdk_idxd_submit_crc32c(chan->chan, iov, iovcnt, task->seed, task->crc_dst,
flags, dsa_done, idxd_task); flags, dsa_done, idxd_task);
break; break;
case ACCEL_OPC_COPY_CRC32C: case ACCEL_OPC_COPY_CRC32C:
if (task->v.iovcnt == 0) { if (task->s.iovcnt == 0) {
siov.iov_base = task->src; siov.iov_base = task->src;
siov.iov_len = task->nbytes; siov.iov_len = task->nbytes;
iov = &siov; iov = &siov;
iovcnt = 1; iovcnt = 1;
} else { } else {
iov = task->v.iovs; iov = task->s.iovs;
iovcnt = task->v.iovcnt; iovcnt = task->s.iovcnt;
} }
diov.iov_base = task->dst; diov.iov_base = task->dst;
diov.iov_len = task->nbytes; diov.iov_len = task->nbytes;

View File

@ -360,7 +360,7 @@ test_spdk_accel_submit_crc32c(void)
CU_ASSERT(rc == 0); CU_ASSERT(rc == 0);
CU_ASSERT(task.crc_dst == &crc_dst); CU_ASSERT(task.crc_dst == &crc_dst);
CU_ASSERT(task.src == src); CU_ASSERT(task.src == src);
CU_ASSERT(task.v.iovcnt == 0); CU_ASSERT(task.s.iovcnt == 0);
CU_ASSERT(task.seed == seed); CU_ASSERT(task.seed == seed);
CU_ASSERT(task.op_code == ACCEL_OPC_CRC32C); CU_ASSERT(task.op_code == ACCEL_OPC_CRC32C);
CU_ASSERT(task.nbytes == nbytes); CU_ASSERT(task.nbytes == nbytes);
@ -396,8 +396,8 @@ test_spdk_accel_submit_crc32cv(void)
/* accel submission OK. */ /* accel submission OK. */
rc = spdk_accel_submit_crc32cv(g_ch, &crc_dst, iov, iov_cnt, seed, NULL, cb_arg); rc = spdk_accel_submit_crc32cv(g_ch, &crc_dst, iov, iov_cnt, seed, NULL, cb_arg);
CU_ASSERT(rc == 0); CU_ASSERT(rc == 0);
CU_ASSERT(task.v.iovs == iov); CU_ASSERT(task.s.iovs == iov);
CU_ASSERT(task.v.iovcnt == iov_cnt); CU_ASSERT(task.s.iovcnt == iov_cnt);
CU_ASSERT(task.crc_dst == &crc_dst); CU_ASSERT(task.crc_dst == &crc_dst);
CU_ASSERT(task.seed == seed); CU_ASSERT(task.seed == seed);
CU_ASSERT(task.op_code == ACCEL_OPC_CRC32C); CU_ASSERT(task.op_code == ACCEL_OPC_CRC32C);
@ -442,7 +442,7 @@ test_spdk_accel_submit_copy_crc32c(void)
CU_ASSERT(task.dst == dst); CU_ASSERT(task.dst == dst);
CU_ASSERT(task.src == src); CU_ASSERT(task.src == src);
CU_ASSERT(task.crc_dst == &crc_dst); CU_ASSERT(task.crc_dst == &crc_dst);
CU_ASSERT(task.v.iovcnt == 0); CU_ASSERT(task.s.iovcnt == 0);
CU_ASSERT(task.seed == seed); CU_ASSERT(task.seed == seed);
CU_ASSERT(task.nbytes == nbytes); CU_ASSERT(task.nbytes == nbytes);
CU_ASSERT(task.flags == 0); CU_ASSERT(task.flags == 0);