summaryrefslogtreecommitdiffstats
path: root/kernel/freezer.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2021-03-12 20:20:42 -0700
committerJens Axboe <axboe@kernel.dk>2021-03-12 20:20:42 -0700
commit15b2219facadec583c24523eed40fa45865f859f (patch)
tree4b71050a700177fb0f834737cb7e97f72387dac9 /kernel/freezer.c
parent58f99373834151e1ca7edc49bc5578d9d40db099 (diff)
downloadlinux-15b2219facadec583c24523eed40fa45865f859f.tar.gz
linux-15b2219facadec583c24523eed40fa45865f859f.tar.bz2
linux-15b2219facadec583c24523eed40fa45865f859f.zip
kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing
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>
Diffstat (limited to 'kernel/freezer.c')
-rw-r--r--kernel/freezer.c2
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);