Revision 70882817
Added by David Sorber about 3 years ago
| software/read_test/src/URingExecDriver.cc | ||
|---|---|---|
|
BlnxLog(info) << "URING READER starting";
|
||
|
|
||
|
struct io_uring m_ring;
|
||
|
std::atomic<uint32_t> m_ioCounter;
|
||
|
std::atomic<uint32_t> m_ioCounter = 0;
|
||
|
const uint32_t MIN_SIZE_ALIGN = 512;
|
||
|
|
||
|
// Init the ring
|
||
| ... | ... | |
|
|
||
|
// Grab the data (chunk) associated with this request and then pass
|
||
|
// it along
|
||
|
Chunk* compChunk = reinterpret_cast<Chunk*>(io_uring_cqe_get_data(cqe));
|
||
|
if (cqe->res < 0)
|
||
|
{
|
||
|
BlnxLog(error) << "Chunk ID: " << chunk->m_chunkId
|
||
| ... | ... | |
|
else
|
||
|
{
|
||
|
BlnxLog(debug) << "Got completion for chunk ID: " << chunk->m_chunkId;
|
||
|
Chunk* compChunk = reinterpret_cast<Chunk*>(io_uring_cqe_get_data(cqe));
|
||
|
outQueue->push_back(compChunk);
|
||
|
--m_ioCounter;
|
||
|
}
|
||
|
--m_ioCounter;
|
||
|
io_uring_cqe_seen(&m_ring, cqe);
|
||
|
}
|
||
|
else
|
||
| ... | ... | |
|
--ioCounter;
|
||
|
io_uring_cqe_seen(ring, cqe);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
Adding simple single threaded write_test utility.