summaryrefslogtreecommitdiffstats
path: root/runtime/task_finder.c
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2008-08-08 12:25:36 -0500
committerDavid Smith <dsmith@redhat.com>2008-08-08 12:25:36 -0500
commit9963b5fc7945ce939aaa8027ca71927cb77a55ff (patch)
tree911bf01a6c617aed181fc798d6da174be8b4bd30 /runtime/task_finder.c
parent174bcf4d659835bbd567875e9e7a574922df25af (diff)
downloadsystemtap-steved-9963b5fc7945ce939aaa8027ca71927cb77a55ff.tar.gz
systemtap-steved-9963b5fc7945ce939aaa8027ca71927cb77a55ff.tar.xz
systemtap-steved-9963b5fc7945ce939aaa8027ca71927cb77a55ff.zip
Saves thread vma information.
2008-08-08 David Smith <dsmith@redhat.com> * task_finder.c (__stp_tf_vm_cb): Added calls to save/delete vma information. * task_finder_vma.c (__stp_tf_vma_map_hash): New function. (__stp_tf_get_vma_map_entry_internal): Ditto. (stap_add_vma_map_info): Ditto. (stap_remove_vma_map_info): Ditto. (stap_find_vma_map_info): Ditto.
Diffstat (limited to 'runtime/task_finder.c')
-rw-r--r--runtime/task_finder.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/runtime/task_finder.c b/runtime/task_finder.c
index b22a60a8..1db7d836 100644
--- a/runtime/task_finder.c
+++ b/runtime/task_finder.c
@@ -47,6 +47,15 @@ int __stp_tf_vm_cb(struct task_struct *tsk,
_stp_dbug(__FUNCTION__, __LINE__,
"vm_cb: tsk %d:%d path %s, start 0x%08lx, end 0x%08lx, offset 0x%lx\n",
tsk->pid, map_p, vm_path, vm_start, vm_end, vm_pgoff);
+ if (map_p) {
+ // FIXME: What should we do with vm_path? We can't save
+ // the vm_path pointer itself, but we don't have any
+ // storage space allocated to save it in...
+ stap_add_vma_map_info(tsk, vm_start, vm_end, vm_pgoff);
+ }
+ else {
+ stap_remove_vma_map_info(tsk, vm_start, vm_end, vm_pgoff);
+ }
return 0;
}
#endif