[RESEND PATCH v2 05/19] io_uring: Remove redundant hrtimer's callback function setup

Jens Axboe axboe at kernel.dk
Thu Oct 31 15:21:43 UTC 2024


On 10/31/24 9:14 AM, Nam Cao wrote:
> The IORING_OP_TIMEOUT command uses hrtimer underneath. The timer's callback
> function is setup in io_timeout(), and then the callback function is setup
> again when the timer is rearmed.
> 
> Since the callback function is the same for both cases, the latter setup is
> redundant, therefore remove it.
> 
> Signed-off-by: Nam Cao <namcao at linutronix.de>
> Cc: Jens Axboe <axboe at kernel.dk>
> ---
>  io_uring/timeout.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/io_uring/timeout.c b/io_uring/timeout.c
> index 9973876d91b0..2ffe5e1dc68a 100644
> --- a/io_uring/timeout.c
> +++ b/io_uring/timeout.c
> @@ -76,7 +76,6 @@ static void io_timeout_complete(struct io_kiocb *req, struct io_tw_state *ts)
>  			/* re-arm timer */
>  			spin_lock_irq(&ctx->timeout_lock);
>  			list_add(&timeout->list, ctx->timeout_list.prev);
> -			data->timer.function = io_timeout_fn;
>  			hrtimer_start(&data->timer, timespec64_to_ktime(data->ts), data->mode);
>  			spin_unlock_irq(&ctx->timeout_lock);
>  			return;

Should be fine, io_timeout_complete() is only used for non-linked
timeouts.

Reviewed-by: Jens Axboe <axboe at kernel.dk:

-- 
Jens Axboe


More information about the Intel-gfx mailing list