Re: debugging threaded apps running under a clone(CLONE_NEWPID)

From: Greg Kurz
Date: Tue Feb 24 2009 - 06:29:10 EST


On Tue, 2009-02-24 at 10:51 +0100, Cedric Le Goater wrote:
> Signed-off-by: Cedric Le Goater <clg@xxxxxxxxxx>
> ---
> fs/proc/base.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> Index: 2.6.27-mcr.git/fs/proc/base.c
> ===================================================================
> --- 2.6.27-mcr.git.orig/fs/proc/base.c
> +++ 2.6.27-mcr.git/fs/proc/base.c
> @@ -2444,6 +2444,23 @@ static int proc_tgid_io_accounting(struc
> }
> #endif /* CONFIG_TASK_IO_ACCOUNTING */
>
> +static int proc_pid_vpids(struct task_struct *task, char *buffer)
> +{
> + struct pid_namespace *pid_ns = task->nsproxy->pid_ns;
> +

This breaks if task is a zombie...

> + return sprintf(buffer, "%6d %6d %6d %6d %6d %6d %6d %6d %6d %6d\n",
> + task_pid_nr_ns(task, pid_ns), // pid
> + task_pid_nr(task),
> + task_tgid_nr_ns(task, pid_ns), // tgid
> + task_tgid_nr(task),
> + task_tgid_nr_ns(task->real_parent, pid_ns), // ppid
> + task_tgid_nr(task->real_parent),
> + task_pgrp_nr_ns(task, pid_ns), // pgid
> + task_pgrp_nr(task),
> + task_session_nr_ns(task, pid_ns), // sid
> + task_session_nr(task));
> +}
> +
> /*
> * Thread groups
> */
> @@ -2519,6 +2536,7 @@ static const struct pid_entry tgid_base_
> #ifdef CONFIG_TASK_IO_ACCOUNTING
> INF("io", S_IRUGO, tgid_io_accounting),
> #endif
> + INF("vpids", S_IRUGO, pid_vpids),
> };
>
> static int proc_tgid_base_readdir(struct file * filp,
> @@ -2854,6 +2872,7 @@ static const struct pid_entry tid_base_s
> #ifdef CONFIG_TASK_IO_ACCOUNTING
> INF("io", S_IRUGO, tid_io_accounting),
> #endif
> + INF("vpids", S_IRUGO, pid_vpids),
> };
>
> static int proc_tid_base_readdir(struct file * filp,
> _______________________________________________
> Containers mailing list
> Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linux-foundation.org/mailman/listinfo/containers
--
Gregory Kurz gkurz@xxxxxxxxxx
Software Engineer @ IBM/Meiosys http://www.ibm.com
Tel +33 (0)534 638 479 Fax +33 (0)561 400 420

"Anarchy is about taking complete responsibility for yourself."
Alan Moore.

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