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 {
void *src;
struct iovec *iovs;
uint32_t iov_cnt;
struct iovec *src_iovs;
uint32_t src_iovcnt;
void *dst;
void *dst2;
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) {
assert(g_crc32c_chained_count > 0);
task->iov_cnt = g_crc32c_chained_count;
task->iovs = calloc(task->iov_cnt, sizeof(struct iovec));
if (!task->iovs) {
fprintf(stderr, "cannot allocated task->iovs fot task=%p\n", task);
task->src_iovcnt = g_crc32c_chained_count;
task->src_iovs = calloc(task->src_iovcnt, sizeof(struct iovec));
if (!task->src_iovs) {
fprintf(stderr, "cannot allocated task->src_iovs fot task=%p\n", task);
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;
}
for (i = 0; i < task->iov_cnt; i++) {
task->iovs[i].iov_base = spdk_dma_zmalloc(g_xfer_size_bytes, 0, NULL);
if (task->iovs[i].iov_base == NULL) {
for (i = 0; i < task->src_iovcnt; i++) {
task->src_iovs[i].iov_base = spdk_dma_zmalloc(g_xfer_size_bytes, 0, NULL);
if (task->src_iovs[i].iov_base == NULL) {
return -ENOMEM;
}
memset(task->iovs[i].iov_base, DATA_PATTERN, g_xfer_size_bytes);
task->iovs[i].iov_len = g_xfer_size_bytes;
memset(task->src_iovs[i].iov_base, DATA_PATTERN, g_xfer_size_bytes);
task->src_iovs[i].iov_len = g_xfer_size_bytes;
}
} else {
@ -353,11 +353,11 @@ _submit_single(struct worker_thread *worker, struct ap_task *task)
break;
case ACCEL_OPC_CRC32C:
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);
break;
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);
break;
case ACCEL_OPC_COMPARE:
@ -394,13 +394,13 @@ _free_task_buffers(struct ap_task *task)
uint32_t i;
if (g_workload_selection == ACCEL_OPC_CRC32C || g_workload_selection == ACCEL_OPC_COPY_CRC32C) {
if (task->iovs) {
for (i = 0; i < task->iov_cnt; i++) {
if (task->iovs[i].iov_base) {
spdk_dma_free(task->iovs[i].iov_base);
if (task->src_iovs) {
for (i = 0; i < task->src_iovcnt; i++) {
if (task->src_iovs[i].iov_base) {
spdk_dma_free(task->src_iovs[i].iov_base);
}
}
free(task->iovs);
free(task->src_iovs);
}
} else {
spdk_dma_free(task->src);
@ -413,18 +413,18 @@ _free_task_buffers(struct ap_task *task)
}
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 ttl_len = 0;
uint8_t *dst = (uint8_t *)_dst;
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;
}
dst += src_iovs[i].iov_len;
ttl_len += src_iovs[i].iov_len;
dst += src_src_iovs[i].iov_len;
ttl_len += src_src_iovs[i].iov_len;
}
if (ttl_len != iovcnt * g_xfer_size_bytes) {
@ -449,18 +449,18 @@ accel_done(void *arg1, int status)
if (g_verify && status == 0) {
switch (worker->workload) {
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) {
SPDK_NOTICELOG("CRC-32C miscompare\n");
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");
worker->xfer_failed++;
}
break;
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) {
SPDK_NOTICELOG("CRC-32C miscompare\n");
worker->xfer_failed++;

View File

@ -24,7 +24,7 @@ struct spdk_accel_task {
struct {
struct iovec *iovs; /* iovs passed by the caller */
uint32_t iovcnt; /* iovcnt passed by the caller */
} v;
} s;
void *src;
};
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->src = src;
accel_task->v.iovcnt = 0;
accel_task->s.iovcnt = 0;
accel_task->seed = seed;
accel_task->nbytes = nbytes;
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;
}
accel_task->v.iovs = iov;
accel_task->v.iovcnt = iov_cnt;
accel_task->s.iovs = iov;
accel_task->s.iovcnt = iov_cnt;
accel_task->crc_dst = crc_dst;
accel_task->seed = seed;
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->src = src;
accel_task->crc_dst = crc_dst;
accel_task->v.iovcnt = 0;
accel_task->s.iovcnt = 0;
accel_task->seed = seed;
accel_task->nbytes = nbytes;
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;
}
accel_task->v.iovs = src_iovs;
accel_task->v.iovcnt = iov_cnt;
accel_task->s.iovs = src_iovs;
accel_task->s.iovcnt = iov_cnt;
accel_task->dst = (void *)dst;
accel_task->crc_dst = crc_dst;
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);
break;
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);
} 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;
case ACCEL_OPC_COPY_CRC32C:
rc = _check_flags(accel_task->flags);
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_crc32c(accel_task->crc_dst, accel_task->src, accel_task->seed, accel_task->nbytes);
} else {
_sw_accel_copyv(accel_task->dst, accel_task->v.iovs, accel_task->v.iovcnt, accel_task->flags);
_sw_accel_crc32cv(accel_task->crc_dst, accel_task->v.iovs, accel_task->v.iovcnt, accel_task->seed);
_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->s.iovs, accel_task->s.iovcnt, accel_task->seed);
}
}
break;

View File

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

View File

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