diff options
| author | Oleg Nesterov <[email protected]> | 2013-11-13 16:45:38 +0100 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2013-11-27 13:50:53 +0100 |
| commit | 192301e70af3f6803c6354a464ebfa742da738ae (patch) | |
| tree | a13e157f7490e18ae043435be9db0d3f114bfa71 /include/linux/timerqueue.h | |
| parent | 86506a99a62400e9f7b7d1344bcc9ea235faf98f (diff) | |
sched: Check TASK_DEAD rather than EXIT_DEAD in schedule_debug()
schedule_debug() ignores in_atomic() if prev->exit_state != 0.
This is not what we want, ->exit_state is set by exit_notify()
but we should complain until the task does the last schedule()
in TASK_DEAD.
See also 7407251a0e2e "PF_DEAD cleanup", I think this ancient
commit explains why schedule() had to rely on ->exit_state,
until that commit exit_notify() disabled preemption and set
PF_DEAD which was used to detect the exiting task.
Signed-off-by: Oleg Nesterov <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Cc: David Laight <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Linus Torvalds <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions