• Jens Axboe's avatar
    io_uring: split overflow state into SQ and CQ side · ad3eb2c8
    Jens Axboe authored
    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: default avatarJens Axboe <axboe@kernel.dk>
    ad3eb2c8
io_uring.c 145 KB