> struct { > spinlock_t completion_lock; > + unsigned poll_multi_file; This seems to be used as a bool. > > -static void __io_cqring_add_event(struct io_ring_ctx *ctx, u64 ki_user_data, > - long res, unsigned ev_flags) > +static void io_cqring_fill_event(struct io_ring_ctx *ctx, u64 ki_user_data, > + long res, unsigned ev_flags) > { > struct io_uring_cqe *cqe; > > @@ -206,9 +213,15 @@ static void __io_cqring_add_event(struct io_ring_ctx *ctx, u64 ki_user_data, > cqe->user_data = ki_user_data; > cqe->res = res; > cqe->flags = ev_flags; > - io_commit_cqring(ctx); > } else > ctx->cq_ring->overflow++; > +} Maybe we should have created this low-level helper already in the patch introducing the code?