[PATCH 4/4] pidns: Use task_active_pid_ns where appropriate
daniel.lezcano at free.fr
Mon Jan 31 06:47:58 PST 2011
On 01/31/2011 12:26 PM, Alexey Dobriyan wrote:
> On Mon, Jan 31, 2011 at 12:25 PM, Daniel Lezcano<daniel.lezcano at free.fr> wrote:
>> The expressions tsk->nsproxy->pid_ns and task_active_pid_ns
>> aka ns_of_pid(task_pid(tsk)) should have the same number of
>> cache line misses with the practical difference that
>> ns_of_pid(task_pid(tsk)) is released later in a processes life.
>> Furthermore by using task_active_pid_ns it becomes trivial
>> to write an unshare implementation for the the pid namespace.
>> So I have used task_active_pid_ns everywhere I can.
> Yet current->nsproxy->pid_ns is way clearer.
> Because live current always has pid_ns.
> This task_active_pid_ns() is misnamed(?) because it does matter only
> for dead tasks?
Actually this function is later used, for the unshare, to get the pid_ns
of a specific task, not the current one.
Do you suggest task_pid_ns(struct task_struct *tsk) would be a better name ?
>> - current->nsproxy->pid_ns->last_pid);
>> + task_active_pid_ns(current)->last_pid);
> I thought of doing exactly opposite patch :-)
More information about the Containers