summaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/tasks.py
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-06-08 14:02:16 +0300
committerIngo Molnar <mingo@kernel.org>2016-06-08 14:02:16 +0300
commit8e8c668927b029f6ccc350eb1aa936864cc4eb6f (patch)
treef91ec6d49e2b01de5b4b3d517209d13b216a3f0f /scripts/gdb/linux/tasks.py
parentf0133acc7d4835cfbb86393b7d2a4fba7519585b (diff)
parent970442c599b22ccd644ebfe94d1d303bf6f87c05 (diff)
downloadlinux-8e8c668927b029f6ccc350eb1aa936864cc4eb6f.tar.xz
Merge branch 'x86/urgent' into x86/cpu, to pick up dependency
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/tasks.py')
-rw-r--r--scripts/gdb/linux/tasks.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/gdb/linux/tasks.py b/scripts/gdb/linux/tasks.py
index 862a4ae24d49..1bf949c43b76 100644
--- a/scripts/gdb/linux/tasks.py
+++ b/scripts/gdb/linux/tasks.py
@@ -114,3 +114,22 @@ variable."""
LxThreadInfoFunc()
+
+
+class LxThreadInfoByPidFunc (gdb.Function):
+ """Calculate Linux thread_info from task variable found by pid
+
+$lx_thread_info_by_pid(PID): Given PID, return the corresponding thread_info
+variable."""
+
+ def __init__(self):
+ super(LxThreadInfoByPidFunc, self).__init__("lx_thread_info_by_pid")
+
+ def invoke(self, pid):
+ task = get_task_by_pid(pid)
+ if task:
+ return get_thread_info(task.dereference())
+ else:
+ raise gdb.GdbError("No task of PID " + str(pid))
+
+LxThreadInfoByPidFunc()