liburing.h: drop acquire ordering on CQ head load in __io_uring_peek_cqe()
The CQ head is only ever written by the application itself, so there's
no inter-thread ordering to be had from an acquire load - the ordering
that protects the CQE contents is the acquire on the tail load, pairing
with the kernel publishing CQEs. The double load_acquire serializes the
hottest CQ path on weakly ordered architectures, and both
io_uring_cqe_iter_init() and io_uring_cq_ready() already read the head
with a plain load.
Effectively a revert of 81cb9479c8c4 ("smp_load_acquire(ring->cq.khead)
in __io_uring_peek_cqe() for consistent dereferencing")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 file changed