> 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?