Re: [RFC]Pid conversion between pid namespace

From: Yasunori Goto
Date: Fri Jul 04 2014 - 01:44:24 EST


Chen-san,

I would like to recommend that you summarize pros/cons for all ideas so far.

For example,

---------
A) make new system call for transrate

A-1) systemcall(ID, NS1, NS2) into (ID).
pros:
- foo
- baa

cons:
- hoge
- hogehogehoge

A-2) pid_t getnspid(pid_t query_pid, pid_t observer_pid)
(ditto)


B) make/change proc file/directories
B-1) expand /proc/pid/status
(ditto)

B-2) /proc/<pidX>/ns/proc/ which would contain everything
from /proc/<pidX inside the namespace>/.
(ditto)


------

Please make clear what is the good/bad point of each opinion by the above,
- Is it hard to keep compatiblity?
- Is it hard to understand for administorator/programmer?
- Is it difficult to show for "nested containers"?
- Is userland tool necessary?
- any other problems?

I hope it will be good discussion by the above.

Thanks,

> Hi,
>
> We had some discussions on how to carry out
> pid conversion between pid namespace via:
> syscall[1] and procfs[2].
>
> Pavel suggested that a syscall like
> (ID, NS1, NS2) into (ID).
>
> Serge suggested that a syscall
> pid_t getnspid(pid_t query_pid, pid_t observer_pid).
>
>
> Eric and Richard suggested a procfs solution is
> more appropriate.
>
> Oleg suggested that we should expand /proc/pid/status
> to report this kind of information.
>
> And Richard suggested adding a directory like
> /proc/<pidX>/ns/proc/ which would contain everything
> from /proc/<pidX inside the namespace>/.
>
> As procfs provided a more user friendly interface,
> how about expose all sets of tgid, pid, pgid, sid
> by expanding /proc/PID/status in procfs?
> And we could also expose ns hierarchy under /proc,
> which could be another reference.
>
> Ex:
> init_pid_ns ns1 ns2
> t1 2
> t2 `- 3 1
> t3 `- 4 `- 5 1
>
> We could get in /proc/t3/status:
> NSpid: 4 5 1
> We knew that pid 1 in container is pid 4 in init ns.
>
> And we could get ns hierarchy under /proc/ns_hierarchy like:
> init_ns->ns1->ns2 (as the result of readlink)
> ->ns3
> We knew that t3 in ns2, and its hierarchy.
>
> How these ideas looks like?
> Any comments would be appreciated.
>
> Thanks,
> - Chen
>
>
> a) syscall
> http://lwn.net/Articles/602987/
>
> b) procfs
> http://www.spinics.net/lists/kernel/msg1751688.html
>

--
Yasunori Goto <y-goto@xxxxxxxxxxxxxx>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/