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
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.