Loading io_uring/io_uring.c +1 −1 Original line number Diff line number Diff line Loading @@ -2962,7 +2962,7 @@ static __cold void io_tctx_exit_cb(struct callback_head *cb) static __cold void io_ring_exit_work(struct work_struct *work) { struct io_ring_ctx *ctx = container_of(work, struct io_ring_ctx, exit_work); unsigned long timeout = jiffies + HZ * 60 * 5; unsigned long timeout = jiffies + IO_URING_EXIT_WAIT_MAX; unsigned long interval = HZ / 20; struct io_tctx_exit exit; struct io_tctx_node *node; Loading io_uring/io_uring.h +6 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,12 @@ struct io_ctx_config { IOSQE_BUFFER_SELECT |\ IOSQE_CQE_SKIP_SUCCESS) /* * Complaint timeout for io_uring cancelation exits, and for io-wq exit * worker waiting. */ #define IO_URING_EXIT_WAIT_MAX (HZ * 60 * 5) enum { IOU_COMPLETE = 0, Loading Loading
io_uring/io_uring.c +1 −1 Original line number Diff line number Diff line Loading @@ -2962,7 +2962,7 @@ static __cold void io_tctx_exit_cb(struct callback_head *cb) static __cold void io_ring_exit_work(struct work_struct *work) { struct io_ring_ctx *ctx = container_of(work, struct io_ring_ctx, exit_work); unsigned long timeout = jiffies + HZ * 60 * 5; unsigned long timeout = jiffies + IO_URING_EXIT_WAIT_MAX; unsigned long interval = HZ / 20; struct io_tctx_exit exit; struct io_tctx_node *node; Loading
io_uring/io_uring.h +6 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,12 @@ struct io_ctx_config { IOSQE_BUFFER_SELECT |\ IOSQE_CQE_SKIP_SUCCESS) /* * Complaint timeout for io_uring cancelation exits, and for io-wq exit * worker waiting. */ #define IO_URING_EXIT_WAIT_MAX (HZ * 60 * 5) enum { IOU_COMPLETE = 0, Loading