mbox series

[v3,0/2] fix task_work interation with freezing

Message ID cover.1720634146.git.asml.silence@gmail.com (mailing list archive)
Headers show
Series fix task_work interation with freezing | expand

Message

Pavel Begunkov July 10, 2024, 5:58 p.m. UTC
It's reported [1] that a task_work queued at a wrong time can prevent
freezing and make the tasks to spin in get_signal() taking 100%
of CPU. Patch 1 is a preparation. Patch 2 addresses the issue.

[1] https://github.com/systemd/systemd/issues/33626

v3: Slightly adjust commit messages
v2: Move task_work_run() into do_freezer_trap()
    Correct the Fixes tag is 2/2

Pavel Begunkov (2):
  io_uring/io-wq: limit retrying worker initialisation
  kernel: rerun task_work while freezing in get_signal()

 io_uring/io-wq.c | 10 +++++++---
 kernel/signal.c  |  8 ++++++++
 2 files changed, 15 insertions(+), 3 deletions(-)

Comments

Jens Axboe July 11, 2024, 7:54 a.m. UTC | #1
On Wed, 10 Jul 2024 18:58:16 +0100, Pavel Begunkov wrote:
> It's reported [1] that a task_work queued at a wrong time can prevent
> freezing and make the tasks to spin in get_signal() taking 100%
> of CPU. Patch 1 is a preparation. Patch 2 addresses the issue.
> 
> [1] https://github.com/systemd/systemd/issues/33626
> 
> v3: Slightly adjust commit messages
> v2: Move task_work_run() into do_freezer_trap()
>     Correct the Fixes tag is 2/2
> 
> [...]

Applied, thanks!

[1/2] io_uring/io-wq: limit retrying worker initialisation
      commit: 0453aad676ff99787124b9b3af4a5f59fbe808e2
[2/2] kernel: rerun task_work while freezing in get_signal()
      commit: 943ad0b62e3c21f324c4884caa6cb4a871bca05c

Best regards,