aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorDavid Rientjes <rientjes@google.com>2009-05-04 04:38:05 -0400
committerIngo Molnar <mingo@elte.hu>2009-05-07 03:36:28 -0400
commitaa47b7e0f89b9998dad4d1667447e8cb7703ff4e (patch)
tree6d4cf92c2dffccb59432652303b46ffe991d37a7 /kernel
parent60aa605dfce2976e54fa76e805ab0f221372d4d9 (diff)
sched: emit thread info flags with stack trace
When a thread is oom killed and fails to exit, it's helpful to know which threads have access to memory reserves if the machine livelocks. This is done by testing for the TIF_MEMDIE thread info flag and should be displayed alongside stack traces to identify tasks that have access to such reserves but are still stuck allocating pages, for instance. It would probably be helpful in other cases as well, so all thread info flags are emitted when showing a task. ( v2: fix warning reported by Stephen Rothwell ) [ Impact: extend debug printout info ] Signed-off-by: David Rientjes <rientjes@google.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephen Rothwell <sfr@canb.auug.org.au> LKML-Reference: <alpine.DEB.2.00.0905040136390.15831@chino.kir.corp.google.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 2a43a581ead3..5aa63f50c696 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -6610,8 +6610,9 @@ void sched_show_task(struct task_struct *p)
6610#ifdef CONFIG_DEBUG_STACK_USAGE 6610#ifdef CONFIG_DEBUG_STACK_USAGE
6611 free = stack_not_used(p); 6611 free = stack_not_used(p);
6612#endif 6612#endif
6613 printk(KERN_CONT "%5lu %5d %6d\n", free, 6613 printk(KERN_CONT "%5lu %5d %6d 0x%08lx\n", free,
6614 task_pid_nr(p), task_pid_nr(p->real_parent)); 6614 task_pid_nr(p), task_pid_nr(p->real_parent),
6615 (unsigned long)task_thread_info(p)->flags);
6615 6616
6616 show_stack(p, NULL); 6617 show_stack(p, NULL);
6617} 6618}