Thread (55 messages) 55 messages, 9 authors, 2015-12-15

Re: [PATCH 08/24] proc: pick out a function to iterate task children

From: Oleg Nesterov <hidden>
Date: 2015-07-18 21:24:15
Also in: lkml

On 07/17, Andrew Vagin wrote:
On Tue, Jul 14, 2015 at 08:02:35PM +0200, Oleg Nesterov wrote:
quoted
On 07/06, Andrey Vagin wrote:
quoted
-static struct pid *
-get_children_pid(struct inode *inode, struct pid *pid_prev, loff_t pos)
+static struct task_struct *
+task_next_child(struct task_struct *parent, struct task_struct *prev, unsigned int pos)
 {
I won't really argue, just a question...

So this patch changes it to accept/return task_struct rather pid. Why?
it is better to get/put "struct pid" only, not the whole task_struct.

If another caller want task_struct, the necessary conversion is simple.
Another caller wants task_struct.

Currently this function receives pid and converts it into task_struct, then
gets the next child and returns its pid.
Exactly because we try to avoid get_task_struct() if possible.
So I try to avoid extra
conversion in task_diag code.
Which is simple. And perhaps even iter->task can actually be iter->pid.

But as I said I won't really argue. And just in case, I personally think
this series makes sense, although I can't review the netlink interface.

Oleg.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help