On 1/28/19 8:02 AM, Christoph Hellwig wrote: >> struct { >> spinlock_t completion_lock; >> + unsigned poll_multi_file; > > This seems to be used as a bool. Fixed >> -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? I think that can go both ways. If we create it early, it'll just be a pointless helper. Don't really care too much about this particular case. -- Jens Axboe