diff --git a/lib/idxd/idxd.c b/lib/idxd/idxd.c index ccbecb8ff..5ff6af10f 100644 --- a/lib/idxd/idxd.c +++ b/lib/idxd/idxd.c @@ -719,6 +719,7 @@ spdk_idxd_submit_copy(struct spdk_idxd_io_channel *chan, desc->src_addr = src_addr; desc->dst_addr = dst_addr; desc->xfer_size = len; + desc->flags |= IDXD_FLAG_CACHE_CONTROL; /* direct IO to CPU cache instead of mem */ } rc = idxd_batch_submit(chan, batch, cb_fn, cb_arg); @@ -1189,6 +1190,7 @@ _idxd_submit_copy_crc32c_single(struct spdk_idxd_io_channel *chan, void *dst, vo desc->opcode = IDXD_OPCODE_COPY_CRC; desc->dst_addr = dst_addr; desc->src_addr = src_addr; + desc->flags |= IDXD_FLAG_CACHE_CONTROL; /* direct IO to CPU cache instead of mem */ desc->flags &= IDXD_CLEAR_CRC_FLAGS; desc->crc32c.seed = seed; desc->xfer_size = nbytes; @@ -1267,6 +1269,7 @@ spdk_idxd_submit_copy_crc32c(struct spdk_idxd_io_channel *chan, desc->opcode = IDXD_OPCODE_COPY_CRC; desc->dst_addr = dst_addr; desc->src_addr = src_addr; + desc->flags |= IDXD_FLAG_CACHE_CONTROL; /* direct IO to CPU cache instead of mem */ if (prev_crc == NULL) { desc->crc32c.seed = seed; } else {