Skip to contentSkip to conversation

Enable dumping running process stack.

PATCH New Leon Ma 1 participant 1 message Aug 20, 2013

Subsystems (2)
lore
Share & tools
lore

Leon Ma

author
#0 lore raw

PATCH 1/1 Enable dumping running process stack.

From: Leon Ma <[email protected]>
Date: Fri, 16 Aug 2013 13:11:15 +0800
Subject: [PATCH] Enable dumping running process stack.

Currently, if the process is running, we can not dump the stack via /proc/<pid>/stack, because in __save_stack_address() it will return immediately if the address is not reliable.
Sometimes one process would run into dead loop in kernel, it will facilitate debugging to have it's stack retrieved via procfs.

---
 arch/x86/kernel/dumpstack.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
arch/x86/kernel/dumpstack.c +4 -1
index 1b81839..c892ceb 100644
@@ -103,7 +103,10 @@ print_context_stack(struct thread_info *tinfo,
 				frame = frame->next_frame;
 				bp = (unsigned long) frame;
 			} else {
-				ops->address(data, addr, 0);
+				if (tinfo->task->state == TASK_RUNNING)
+					ops->address(data, addr, 1);
+				else
+					ops->address(data, addr, 0);
 			}
 			print_ftrace_graph_addr(addr, data, ops, tinfo, graph);
 		}
Signature · 1 line
1.7.4.1