summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2007-04-26 05:50:03 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-04-27 19:46:51 +0200
commit39bc89fd4019b164002adaacef92c4140e37955a (patch)
tree34ff87b8d8c2984af2015dd8c01177df88815214 /kernel
parentseqlocks: trivial remove weird whitespace (diff)
downloadlinux-39bc89fd4019b164002adaacef92c4140e37955a.tar.xz
linux-39bc89fd4019b164002adaacef92c4140e37955a.zip
make SysRq-T show all tasks again
show_state() (SysRq-T) developed the buggy habbit of not showing TASK_RUNNING tasks. This was due to the mistaken belief that state_filter == -1 would be a pass-through filter - while in reality it did not let TASK_RUNNING == 0 p->state values through. Fix this by restoring the original '!state_filter means all tasks' special-case i had in the original version. Test-built and test-booted on i686, SysRq-T now works as intended. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index b9a683730148..960d7c5fca39 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4746,7 +4746,7 @@ void show_state_filter(unsigned long state_filter)
* console might take alot of time:
*/
touch_nmi_watchdog();
- if (p->state & state_filter)
+ if (!state_filter || (p->state & state_filter))
show_task(p);
} while_each_thread(g, p);