• J
    io_uring: split overflow state into SQ and CQ side · 5e8e604e
    Jens Axboe 提交于
    to #26323588
    
    commit ad3eb2c89fb24d14ac81f43eff8e85fece2c934d upstream.
    
    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: NJens Axboe <axboe@kernel.dk>
    Signed-off-by: NJoseph Qi <joseph.qi@linux.alibaba.com>
    Acked-by: NXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
    5e8e604e
io_uring.c 145.3 KB