Revert "idxd: Remove the batch_op field because it is not necessary."

This reverts commit 585e808e06.

Signed-off-by: paul Luse <paul.e.luse@intel.com>
Change-Id: I578d248d490c27a5806c5a77fb241a15ba85a530
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8908
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
This commit is contained in:
paul Luse 2021-07-22 16:22:21 +00:00 committed by Tomasz Zawadzki
parent 789f8b85cd
commit 74dd24851d
2 changed files with 8 additions and 2 deletions

View File

@ -329,6 +329,8 @@ _track_comp(struct spdk_idxd_io_channel *chan, bool batch_op, uint32_t index,
{
comp_ctx->desc = desc;
comp_ctx->index = index;
/* Tag this as a batched operation or not so we know which bit array index to clear. */
comp_ctx->batch_op = batch_op;
/* Only add non-batch completions here. Batch completions are added when the batch is
* submitted.
@ -1093,10 +1095,13 @@ spdk_idxd_process_events(struct spdk_idxd_io_channel *chan)
}
comp_ctx->hw.status = status = 0;
if (comp_ctx->desc->opcode != IDXD_OPCODE_BATCH) {
if (comp_ctx->batch_op == false) {
assert(spdk_bit_array_get(chan->ring_slots, comp_ctx->index));
spdk_bit_array_clear(chan->ring_slots, comp_ctx->index);
} else {
}
if (comp_ctx->desc->opcode == IDXD_OPCODE_BATCH) {
_free_batch(comp_ctx->batch, chan);
}
} else {

View File

@ -160,6 +160,7 @@ struct idxd_comp {
struct idxd_hw_desc *desc;
uint32_t *crc_dst;
uint32_t index;
bool batch_op;
char pad[3];
TAILQ_ENTRY(idxd_comp) link;
};