And one more sqe starvation fix

non-odp-rdma
Vitaliy Filippov 2022-02-01 02:50:16 +03:00
parent df0cd85352
commit f712967079
1 changed files with 7 additions and 1 deletions

View File

@ -118,5 +118,11 @@ int ring_loop_t::sqes_left()
struct io_uring_sq *sq = &ring.sq;
unsigned int head = io_uring_smp_load_acquire(sq->khead);
unsigned int next = sq->sqe_tail + 1;
return *sq->kring_entries - (next - head);
int left = *sq->kring_entries - (next - head);
if (left > free_ring_data_ptr)
{
// return min(sqes left, ring_datas left)
return free_ring_data_ptr;
}
return left;
}