Commit fb682099 authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

io_uring: optimise initial ltimeout refcounting



Linked timeouts are never refcounted when it comes to the first call to
__io_prep_linked_timeout(), so save an io_ref_get() and set the desired
value directly.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/177b24cc62ffbb42d915d6eb9e8876266e4c0d5a.1628981736.git.asml.silence@gmail.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 761bcac1
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1312,8 +1312,7 @@ static struct io_kiocb *__io_prep_linked_timeout(struct io_kiocb *req)

	/* linked timeouts should have two refs once prep'ed */
	io_req_set_refcount(req);
	io_req_set_refcount(nxt);
	req_ref_get(nxt);
	__io_req_set_refcount(nxt, 2);

	nxt->timeout.head = req;
	nxt->flags |= REQ_F_LTIMEOUT_ACTIVE;