diff options
author | Jens Axboe <axboe@kernel.dk> | 2021-03-12 20:20:42 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-04-07 15:00:05 +0200 |
commit | 7f6518ec6ee9f6965d5857c61212422e11d247cb (patch) | |
tree | 405bcb88375d0e9a919eb0b877d18c2459399a82 | |
parent | 540a1ebf3c23a75f161192c325851d56706b1a77 (diff) | |
download | kernel_replicant_linux-7f6518ec6ee9f6965d5857c61212422e11d247cb.tar.gz kernel_replicant_linux-7f6518ec6ee9f6965d5857c61212422e11d247cb.tar.bz2 kernel_replicant_linux-7f6518ec6ee9f6965d5857c61212422e11d247cb.zip |
kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing
[ Upstream commit 15b2219facadec583c24523eed40fa45865f859f ]
Don't send fake signals to PF_IO_WORKER threads, they don't accept
signals. Just treat them like kthreads in this regard, all they need
is a wakeup as no forced kernel/user transition is needed.
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | kernel/freezer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/freezer.c b/kernel/freezer.c index dc520f01f99d..1a2d57d1327c 100644 --- a/kernel/freezer.c +++ b/kernel/freezer.c @@ -134,7 +134,7 @@ bool freeze_task(struct task_struct *p) return false; } - if (!(p->flags & PF_KTHREAD)) + if (!(p->flags & (PF_KTHREAD | PF_IO_WORKER))) fake_signal_wake_up(p); else wake_up_state(p, TASK_INTERRUPTIBLE); |