pstree: use rbtree to find a specified pid (v3)
Currently we enumirate all children of the init task and
if a task isn't a session leader, we create a helper,
collect all children with this sid to the children list of this helper.
When all children of the init task has been enumirated, we try to find
a session leader for each helper.
We use this way to enumirate all tasks only once.
Now we are going to collect all tasks in rbtree, so we can find
a sessial leader when we need it. It will not affect performance,
because without searching a session leader, we can't add a helper
to the tree.
v2: rename lookup_pid to pstree_pid_by_virt
use pstree_pid_by_virt in pstree_item_by_virt
v3: handle session leaders in this patch too
Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
Showing
Please
register
or
sign in
to comment