io_uring: split overflow state into SQ and CQ side
authorJens Axboe <axboe@kernel.dk>
Thu, 19 Dec 2019 00:12:20 +0000 (17:12 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 15 Jan 2020 22:05:01 +0000 (15:05 -0700)
commitf05f1cecdb19c6a105a6b974cc2218173206e58f
treeab66ced8dd602a740365500f0d3b1c7d75e8ac68
parent471441417ed294bcb8f66e5ec92f969091ade6d4
io_uring: split overflow state into SQ and CQ side

We currently check ->cq_overflow_list from both SQ and CQ context, which
causes some bouncing of that cache line. Add separate bits of state for
this instead, so that the SQ side can check using its own state, and
likewise for the CQ side.

This adds ->sq_check_overflow with the SQ state, and ->cq_check_overflow
with the CQ state. If we hit an overflow condition, both of these bits
are set. Likewise for overflow flush clear, we clear both bits. For the
fast path of just checking if there's an overflow condition on either
the SQ or CQ side, we can use our own private bit for this.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c