From c8a44dea9630e500f1eb44cb7934217fb2212f4e Mon Sep 17 00:00:00 2001 From: David Smith Date: Mon, 20 Jul 2009 15:25:01 -0500 Subject: Fixed PR 10386 by removing the need to convert a pid to a task. * runtime/itrace.c (usr_itrace_init): Changed prototype to take a task_struct instead of a pid. * tapset-itrace.cxx (emit_module_decls): Updated usr_itrace_init() call. * runtime/autoconf-find-task-pid.c: Removed, since only user_itrace_init() was using it. * buildrun.cxx (compile_pass): Removed autoconf-find-task-pid.c test. --- runtime/itrace.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'runtime/itrace.c') diff --git a/runtime/itrace.c b/runtime/itrace.c index 3014f9e5..6fe39db4 100644 --- a/runtime/itrace.c +++ b/runtime/itrace.c @@ -324,20 +324,14 @@ done: } -static int usr_itrace_init(int single_step, pid_t tid, struct stap_itrace_probe *p) +static int usr_itrace_init(int single_step, struct task_struct *tsk, struct stap_itrace_probe *p) { struct itrace_info *ui; - struct task_struct *tsk; spin_lock_init(&itrace_lock); rcu_read_lock(); -#ifdef STAPCONF_FIND_TASK_PID - tsk = find_task_by_pid(tid); -#else - tsk = find_task_by_vpid(tid); -#endif - if (!tsk) { - printk(KERN_ERR "usr_itrace_init: Cannot find process %d\n", tid); + if (tsk == NULL) { + printk(KERN_ERR "usr_itrace_init: Invalid task\n"); rcu_read_unlock(); return 1; } @@ -353,7 +347,8 @@ static int usr_itrace_init(int single_step, pid_t tid, struct stap_itrace_probe rcu_read_unlock(); if (debug) - printk(KERN_INFO "usr_itrace_init: completed for tid = %d\n", tid); + printk(KERN_INFO "usr_itrace_init: completed for tid = %d\n", + tsk->pid); return 0; } -- cgit