Signed-off-by: Pan Liu <wanjun.lp@alibaba-inc.com>
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
#ifdef HAVE_SPDK
void *nvme_task_first = nullptr;
void *nvme_task_last = nullptr;
+ std::atomic_int total_nseg = {0};
#endif
for (auto& p : txc->ioc.pending_aios) {
ios += p.iov.size();
}
+
+#ifdef HAVE_SPDK
+ ios += txc->ioc.total_nseg;
+#endif
+
auto cost = throttle_cost_per_io.load();
txc->cost = ios * cost + txc->bytes;
dout(10) << __func__ << " " << txc << " cost " << txc->cost << " ("
for (uint16_t i = 0; i < io_request.nseg; i++)
queue_data->data_buf_mempool.push_back(io_request.inline_segs[i]);
}
+ ctx->total_nseg -= io_request.nseg;
io_request.nseg = 0;
}
data_buf_mempool.pop_back();
}
t->io_request.nseg = count;
+ t->ctx->total_nseg += count;
if (write) {
auto blp = t->write_bl.begin();
uint32_t len = 0;