This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

about thread_info in task_struct


Hi,

First thank jim! I got the write access for systemtap.

There is some change about task_struct in sched.h (since 2.6.22)

Commit f7e4217b007d1f73e7e3cf10ba4fea4a608c603f
Author: Roman Zippel <zippel@linux-m68k.org>
Date:   Wed May 9 02:35:17 2007 -0700

rename thread_info to stack
This finally renames the thread_info field in task structure to stack, so that
the assumptions about this field are gone and archs have more freedom about
placing the thread_info structure.

Therefor task_test.stp failed. Reason in tapset/task.stp:


 function task_cpu:long (task:long)
 %( kernel_v >= "2.6.23" %?
 %{ /* pure */
........

So maybe need a little modification, kernel_v >= "2.6.22" or using macro task_thread_info

Another, I wrote function for returning task addr in case of only knowing pid:

/*return task addr according to process id*/
function get_task: long (pid:long) %{
       struct task_struct *p;
       pid_t pid;
       pid = (pid_t)(long)THIS->pid;
       rcu_read_lock();
       p = find_task_by_pid(pid);
       rcu_read_unlock();
       THIS->__retvalue = (long) p;
       CATCH_DEREF_FAULT();
%}

Please review it.

Best regards,
Wenji





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]