[Users] find_task_by_pid macro removed from kernel

Vasily Tarasov vtaras at sw.ru
Mon Sep 18 08:59:32 EDT 2006


Matteo Pillon wrote:
> Hi all,
>
> I had troubles getting lirc modules working on openvz kernel: lirc_dev
> needs find_task_by_pid (modprobe lirc_dev returns an unresolved
> symbol).
> On a vanilla kernel this is defined as a macro:
>  #define find_task_by_pid(nr)    find_task_by_pid_type(PIDTYPE_PID, nr)
> On openvz kernel (I'm running 2.6.16-026test017), this macro has been
> removed, I can only find:
>  #define find_task_by_pid_all(nr)        \
>                 find_task_by_pid_type_all(PIDTYPE_PID, nr)
> Why find_task_by_pid has been removed? In which ways
> find_task_by_pid_all differs?
>   
find_task_by_pid_all() seeks among all tasks on HW
find_task_by_pid_ve() seeks among all task in VE
The reason of appearance of these functions in OpenVZ environment is
clear, I suppose.
> I tried replacing find_task_by_pid(ir->tpid) in lirc source-code with
> find_task_by_pid_type(PIDTYPE_PID, ir->tpid), and it works flawlessly.
>   
Better way is to use find_task_by_pid_all() or find_task_by_pid_ve().
What particular
function to use depends on context.
> Does this have any drawback? If not, why not reincluding
> find_task_by_pid into the kernel to keep compatibility?
>
>
> Thanks for replies.
>
> Bye.
>
>   
HTH,
vass



More information about the Users mailing list