Hi, On Thu, May 5, 2011 at 1:42 AM, conn intel <connintel@gmail.com> wrote:
I found the issue:
one has to pass arguments to pid_task as: pid_task(find_get_pid(<pid found using sys_getpid in userspace>) , PIDTYPE_PID);
I am trying to understand how the pid value using find_get_pid function differs from the pid found in the userspace. It seems that they are different and due to that kernel get exception.
In the kernel, the pid is like a thread-id and the tgid is the process id. In user space, the ps command shows the tgid. The /proc table also shows the tgid. You can see all of the pids associated with a process by looking at /proc/999/task/888 Replace 999 with tthe tgid and 888 with the pid. ls -1 -d /proc/*/task/* will show all of the threads running in the system ls -1 -d /proc/* will show all of the processes running in the system (which is what ps shows). -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com