diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2013-06-07 20:37:06 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-10 00:20:01 (GMT) |
commit | 454ae47975023ee86def519596e8c29b5255c583 (patch) | |
tree | 2eef651ec68cbbfb3840ba20acb927d64784f63f /fs/ocfs2 | |
parent | 39f40c5e71529362336bbbcec60655bf678d049e (diff) | |
download | linux-fsl-qoriq-454ae47975023ee86def519596e8c29b5255c583.tar.xz |
kernel/cpu: fix cpu down problem if kthread's cpu is going down
If kthread is pinned to CPUx and CPUx is going down then we get into
trouble:
- first the unplug thread is created
- it will set itself to hp->unplug. As a result, every task that is
going to take a lock, has to leave the CPU.
- the CPU_DOWN_PREPARE notifier are started. The worker thread will
start a new process for the "high priority worker".
Now kthread would like to take a lock but since it can't leave the CPU
it will never complete its task.
We could fire the unplug thread after the notifier but then the cpu is
no longer marked "online" and the unplug thread will run on CPU0 which
was fixed before :)
So instead the unplug thread is started and kept waiting until the
notfier complete their work.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'fs/ocfs2')
0 files changed, 0 insertions, 0 deletions