* [resend][PATCH v10 0/2] ns, procfs: pid conversion between ns
@ 2015-02-22 11:48 Chen Hanxiao
2015-02-22 11:48 ` [PATCH v10 2/2] docs: add missing and new /proc/PID/status file entries, fix typos Chen Hanxiao
[not found] ` <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
0 siblings, 2 replies; 7+ messages in thread
From: Chen Hanxiao @ 2015-02-22 11:48 UTC (permalink / raw)
To: Eric W. Biederman, Andrew Morton
Cc: containers, linux-kernel, linux-doc, Serge Hallyn,
Jonathan Corbet, Gui Jianfeng, Nathan Scott
Chen Hanxiao (1):
/proc/PID/status: show all sets of pid according to ns
Nathan Scott (1):
docs: add missing and new /proc/PID/status file entries, fix typos
Documentation/filesystems/proc.txt | 11 ++++++++---
fs/proc/array.c | 16 ++++++++++++++++
2 files changed, 24 insertions(+), 3 deletions(-)
--
2.1.0
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v10 2/2] docs: add missing and new /proc/PID/status file entries, fix typos 2015-02-22 11:48 [resend][PATCH v10 0/2] ns, procfs: pid conversion between ns Chen Hanxiao @ 2015-02-22 11:48 ` Chen Hanxiao [not found] ` <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 1 sibling, 0 replies; 7+ messages in thread From: Chen Hanxiao @ 2015-02-22 11:48 UTC (permalink / raw) To: Eric W. Biederman, Andrew Morton Cc: containers, linux-kernel, linux-doc, Serge Hallyn, Jonathan Corbet, Gui Jianfeng, Nathan Scott From: Nathan Scott <nathans@redhat.com> --- Documentation/filesystems/proc.txt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index a07ba61..6d37062 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -200,12 +200,12 @@ contains details information about the process itself. Its fields are explained in Table 1-4. (for SMP CONFIG users) -For making accounting scalable, RSS related information are handled in -asynchronous manner and the vaule may not be very precise. To see a precise +For making accounting scalable, RSS related information are handled in an +asynchronous manner and the value may not be very precise. To see a precise snapshot of a moment, you can see /proc/<pid>/smaps file and scan page table. It's slow but very precise. -Table 1-2: Contents of the status files (as of 2.6.30-rc7) +Table 1-2: Contents of the status files (as of 3.20.0) .............................................................................. Field Content Name filename of the executable @@ -213,6 +213,7 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7) in an uninterruptible wait, Z is zombie, T is traced or stopped) Tgid thread group ID + Ngid NUMA group ID (0 if none) Pid process id PPid process id of the parent process TracerPid PID of process tracing this process (0 if not) @@ -220,6 +221,10 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7) Gid Real, effective, saved set, and file system GIDs FDSize number of file descriptor slots currently allocated Groups supplementary group list + NStgid descendant namespace thread group ID hierarchy + NSpid descendant namespace process ID hierarchy + NSpgid descendant namespace process group ID hierarchy + NSsid descendant namespace session ID hierarchy VmPeak peak virtual memory size VmSize total program size VmLck locked memory size -- 2.1.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>]
* [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns 2015-02-22 11:48 [resend][PATCH v10 0/2] ns, procfs: pid conversion between ns Chen Hanxiao @ 2015-02-22 11:48 ` Chen Hanxiao [not found] ` <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 1 sibling, 0 replies; 7+ messages in thread From: Chen Hanxiao @ 2015-02-22 11:48 UTC (permalink / raw) To: Eric W. Biederman, Andrew Morton Cc: Jonathan Corbet, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Serge Hallyn, linux-doc-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Nathan Scott If some issues occurred inside a container guest, host user could not know which process is in trouble just by guest pid: the users of container guest only knew the pid inside containers. This will bring obstacle for trouble shooting. This patch adds four fields: NStgid, NSpid, NSpgid and NSsid: a) In init_pid_ns, nothing changed; b) In one pidns, will tell the pid inside containers: NStgid: 21776 5 1 NSpid: 21776 5 1 NSpgid: 21776 5 1 NSsid: 21729 1 0 ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2. c) If pidns is nested, it depends on which pidns are you in. NStgid: 5 1 NSpid: 5 1 NSpgid: 5 1 NSsid: 1 0 ** Views from level 1 Acked-by: Serge Hallyn <serge.hallyn-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> Acked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org> Tested-by: Serge Hallyn <serge.hallyn-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> Tested-by: Nathan Scott <nathans-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Signed-off-by: Chen Hanxiao <chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> --- v10: remove trailing space of pid numbers rebased on 3.19 v9: rebased on 3.19-rc1 No change from v4-v8 v3: add another two fielsd: NSpgid and NSsid. v2: add two new fields: NStgid and NSpid. keep fields of Tgid and Pid unchanged for back compatibility. fs/proc/array.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/fs/proc/array.c b/fs/proc/array.c index 1295a00..d79bad9 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -188,6 +188,22 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns, from_kgid_munged(user_ns, GROUP_AT(group_info, g))); put_cred(cred); + seq_puts(m, "\nNStgid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_tgid_nr_ns(p, pid->numbers[g].ns)); + seq_puts(m, "\nNSpid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_pid_nr_ns(p, pid->numbers[g].ns)); + seq_puts(m, "\nNSpgid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_pgrp_nr_ns(p, pid->numbers[g].ns)); + seq_puts(m, "\nNSsid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_session_nr_ns(p, pid->numbers[g].ns)); seq_putc(m, '\n'); } -- 2.1.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns @ 2015-02-22 11:48 ` Chen Hanxiao 0 siblings, 0 replies; 7+ messages in thread From: Chen Hanxiao @ 2015-02-22 11:48 UTC (permalink / raw) To: Eric W. Biederman, Andrew Morton Cc: containers, linux-kernel, linux-doc, Serge Hallyn, Jonathan Corbet, Gui Jianfeng, Nathan Scott If some issues occurred inside a container guest, host user could not know which process is in trouble just by guest pid: the users of container guest only knew the pid inside containers. This will bring obstacle for trouble shooting. This patch adds four fields: NStgid, NSpid, NSpgid and NSsid: a) In init_pid_ns, nothing changed; b) In one pidns, will tell the pid inside containers: NStgid: 21776 5 1 NSpid: 21776 5 1 NSpgid: 21776 5 1 NSsid: 21729 1 0 ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2. c) If pidns is nested, it depends on which pidns are you in. NStgid: 5 1 NSpid: 5 1 NSpgid: 5 1 NSsid: 1 0 ** Views from level 1 Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> Tested-by: Serge Hallyn <serge.hallyn@canonical.com> Tested-by: Nathan Scott <nathans@redhat.com> Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com> --- v10: remove trailing space of pid numbers rebased on 3.19 v9: rebased on 3.19-rc1 No change from v4-v8 v3: add another two fielsd: NSpgid and NSsid. v2: add two new fields: NStgid and NSpid. keep fields of Tgid and Pid unchanged for back compatibility. fs/proc/array.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/fs/proc/array.c b/fs/proc/array.c index 1295a00..d79bad9 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -188,6 +188,22 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns, from_kgid_munged(user_ns, GROUP_AT(group_info, g))); put_cred(cred); + seq_puts(m, "\nNStgid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_tgid_nr_ns(p, pid->numbers[g].ns)); + seq_puts(m, "\nNSpid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_pid_nr_ns(p, pid->numbers[g].ns)); + seq_puts(m, "\nNSpgid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_pgrp_nr_ns(p, pid->numbers[g].ns)); + seq_puts(m, "\nNSsid:"); + for (g = ns->level; g <= pid->level; g++) + seq_printf(m, "\t%d", + task_session_nr_ns(p, pid->numbers[g].ns)); seq_putc(m, '\n'); } -- 2.1.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1424605685-5081-2-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>]
* Re: [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns 2015-02-22 11:48 ` Chen Hanxiao @ 2015-02-23 16:56 ` Serge E. Hallyn -1 siblings, 0 replies; 7+ messages in thread From: Serge E. Hallyn @ 2015-02-23 16:56 UTC (permalink / raw) To: Chen Hanxiao Cc: Jonathan Corbet, linux-doc-u79uwXL29TY76Z2rM5mHXA, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Serge Hallyn, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Nathan Scott, Eric W. Biederman, Andrew Morton On Sun, Feb 22, 2015 at 07:48:04PM +0800, Chen Hanxiao wrote: > If some issues occurred inside a container guest, host user > could not know which process is in trouble just by guest pid: > the users of container guest only knew the pid inside containers. > This will bring obstacle for trouble shooting. > > This patch adds four fields: NStgid, NSpid, NSpgid and NSsid: > a) In init_pid_ns, nothing changed; > > b) In one pidns, will tell the pid inside containers: > NStgid: 21776 5 1 > NSpid: 21776 5 1 > NSpgid: 21776 5 1 > NSsid: 21729 1 0 > ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2. > > c) If pidns is nested, it depends on which pidns are you in. > NStgid: 5 1 > NSpid: 5 1 > NSpgid: 5 1 > NSsid: 1 0 > ** Views from level 1 So obviously (since I acked it) I see no problems with this patch or the api, but it occurs to me that you have not cc:d linux-api? Since a procfile addition is something we're stuck with for eternity, it seems worth it. If we get an ack from there, then i'd say email to Linus directly. Putting this through -mm doesn't really seem necessary given its nature. > Acked-by: Serge Hallyn <serge.hallyn-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> > Acked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org> > > Tested-by: Serge Hallyn <serge.hallyn-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> > Tested-by: Nathan Scott <nathans-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > > Signed-off-by: Chen Hanxiao <chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> > --- > v10: remove trailing space of pid numbers > rebased on 3.19 > v9: rebased on 3.19-rc1 > No change from v4-v8 > v3: add another two fielsd: NSpgid and NSsid. > v2: add two new fields: NStgid and NSpid. > keep fields of Tgid and Pid unchanged for back compatibility. > > fs/proc/array.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/fs/proc/array.c b/fs/proc/array.c > index 1295a00..d79bad9 100644 > --- a/fs/proc/array.c > +++ b/fs/proc/array.c > @@ -188,6 +188,22 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns, > from_kgid_munged(user_ns, GROUP_AT(group_info, g))); > put_cred(cred); > > + seq_puts(m, "\nNStgid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_tgid_nr_ns(p, pid->numbers[g].ns)); > + seq_puts(m, "\nNSpid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_pid_nr_ns(p, pid->numbers[g].ns)); > + seq_puts(m, "\nNSpgid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_pgrp_nr_ns(p, pid->numbers[g].ns)); > + seq_puts(m, "\nNSsid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_session_nr_ns(p, pid->numbers[g].ns)); > seq_putc(m, '\n'); > } > > -- > 2.1.0 > > _______________________________________________ > Containers mailing list > Containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org > https://lists.linuxfoundation.org/mailman/listinfo/containers ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns @ 2015-02-23 16:56 ` Serge E. Hallyn 0 siblings, 0 replies; 7+ messages in thread From: Serge E. Hallyn @ 2015-02-23 16:56 UTC (permalink / raw) To: Chen Hanxiao Cc: Eric W. Biederman, Andrew Morton, Jonathan Corbet, containers, Serge Hallyn, linux-doc, linux-kernel, Nathan Scott On Sun, Feb 22, 2015 at 07:48:04PM +0800, Chen Hanxiao wrote: > If some issues occurred inside a container guest, host user > could not know which process is in trouble just by guest pid: > the users of container guest only knew the pid inside containers. > This will bring obstacle for trouble shooting. > > This patch adds four fields: NStgid, NSpid, NSpgid and NSsid: > a) In init_pid_ns, nothing changed; > > b) In one pidns, will tell the pid inside containers: > NStgid: 21776 5 1 > NSpid: 21776 5 1 > NSpgid: 21776 5 1 > NSsid: 21729 1 0 > ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2. > > c) If pidns is nested, it depends on which pidns are you in. > NStgid: 5 1 > NSpid: 5 1 > NSpgid: 5 1 > NSsid: 1 0 > ** Views from level 1 So obviously (since I acked it) I see no problems with this patch or the api, but it occurs to me that you have not cc:d linux-api? Since a procfile addition is something we're stuck with for eternity, it seems worth it. If we get an ack from there, then i'd say email to Linus directly. Putting this through -mm doesn't really seem necessary given its nature. > Acked-by: Serge Hallyn <serge.hallyn@canonical.com> > Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> > > Tested-by: Serge Hallyn <serge.hallyn@canonical.com> > Tested-by: Nathan Scott <nathans@redhat.com> > > Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com> > --- > v10: remove trailing space of pid numbers > rebased on 3.19 > v9: rebased on 3.19-rc1 > No change from v4-v8 > v3: add another two fielsd: NSpgid and NSsid. > v2: add two new fields: NStgid and NSpid. > keep fields of Tgid and Pid unchanged for back compatibility. > > fs/proc/array.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/fs/proc/array.c b/fs/proc/array.c > index 1295a00..d79bad9 100644 > --- a/fs/proc/array.c > +++ b/fs/proc/array.c > @@ -188,6 +188,22 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns, > from_kgid_munged(user_ns, GROUP_AT(group_info, g))); > put_cred(cred); > > + seq_puts(m, "\nNStgid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_tgid_nr_ns(p, pid->numbers[g].ns)); > + seq_puts(m, "\nNSpid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_pid_nr_ns(p, pid->numbers[g].ns)); > + seq_puts(m, "\nNSpgid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_pgrp_nr_ns(p, pid->numbers[g].ns)); > + seq_puts(m, "\nNSsid:"); > + for (g = ns->level; g <= pid->level; g++) > + seq_printf(m, "\t%d", > + task_session_nr_ns(p, pid->numbers[g].ns)); > seq_putc(m, '\n'); > } > > -- > 2.1.0 > > _______________________________________________ > Containers mailing list > Containers@lists.linux-foundation.org > https://lists.linuxfoundation.org/mailman/listinfo/containers ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v10 2/2] docs: add missing and new /proc/PID/status file entries, fix typos [not found] ` <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> 2015-02-22 11:48 ` Chen Hanxiao @ 2015-02-22 11:48 ` Chen Hanxiao 1 sibling, 0 replies; 7+ messages in thread From: Chen Hanxiao @ 2015-02-22 11:48 UTC (permalink / raw) To: Eric W. Biederman, Andrew Morton Cc: Jonathan Corbet, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Serge Hallyn, linux-doc-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Nathan Scott From: Nathan Scott <nathans-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> --- Documentation/filesystems/proc.txt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index a07ba61..6d37062 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -200,12 +200,12 @@ contains details information about the process itself. Its fields are explained in Table 1-4. (for SMP CONFIG users) -For making accounting scalable, RSS related information are handled in -asynchronous manner and the vaule may not be very precise. To see a precise +For making accounting scalable, RSS related information are handled in an +asynchronous manner and the value may not be very precise. To see a precise snapshot of a moment, you can see /proc/<pid>/smaps file and scan page table. It's slow but very precise. -Table 1-2: Contents of the status files (as of 2.6.30-rc7) +Table 1-2: Contents of the status files (as of 3.20.0) .............................................................................. Field Content Name filename of the executable @@ -213,6 +213,7 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7) in an uninterruptible wait, Z is zombie, T is traced or stopped) Tgid thread group ID + Ngid NUMA group ID (0 if none) Pid process id PPid process id of the parent process TracerPid PID of process tracing this process (0 if not) @@ -220,6 +221,10 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7) Gid Real, effective, saved set, and file system GIDs FDSize number of file descriptor slots currently allocated Groups supplementary group list + NStgid descendant namespace thread group ID hierarchy + NSpid descendant namespace process ID hierarchy + NSpgid descendant namespace process group ID hierarchy + NSsid descendant namespace session ID hierarchy VmPeak peak virtual memory size VmSize total program size VmLck locked memory size -- 2.1.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-02-23 16:57 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-22 11:48 [resend][PATCH v10 0/2] ns, procfs: pid conversion between ns Chen Hanxiao
2015-02-22 11:48 ` [PATCH v10 2/2] docs: add missing and new /proc/PID/status file entries, fix typos Chen Hanxiao
[not found] ` <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-02-22 11:48 ` [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns Chen Hanxiao
2015-02-22 11:48 ` Chen Hanxiao
[not found] ` <1424605685-5081-2-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-02-23 16:56 ` Serge E. Hallyn
2015-02-23 16:56 ` Serge E. Hallyn
2015-02-22 11:48 ` [PATCH v10 2/2] docs: add missing and new /proc/PID/status file entries, fix typos Chen Hanxiao
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.