On 8/14/21 10:26 AM, Pavel Begunkov wrote: > If a requests is forwarded into io-wq, there is a good chance it hasn't > been refcounted yet and we can save one req_ref_get() by setting the > refcount number to the right value directly. Not sure this really matters, but can't hurt either. But... > @@ -1115,14 +1115,19 @@ static inline void req_ref_get(struct io_kiocb *req) > atomic_inc(&req->refs); > } > > -static inline void io_req_refcount(struct io_kiocb *req) > +static inline void __io_req_refcount(struct io_kiocb *req, int nr) > { > if (!(req->flags & REQ_F_REFCOUNT)) { > req->flags |= REQ_F_REFCOUNT; > - atomic_set(&req->refs, 1); > + atomic_set(&req->refs, nr); > } > } > > +static inline void io_req_refcount(struct io_kiocb *req) > +{ > + __io_req_refcount(req, 1); > +} > + I really think these should be io_req_set_refcount() or something like that, making it clear that we're actively setting/manipulating the ref count. -- Jens Axboe