[Devel] [PATCH] cgroups: skip processes from other namespaces when listing a cgroup
gowrishankar
gomuthuk at linux.vnet.ibm.com
Sun Dec 7 23:22:16 PST 2008
Once tasks are populated from system namespace inside cgroup,
container replaces other namespace task with 0 while listing tasks,
inside container.
Though this is expected behaviour from container end, there is
no use of showing unwanted 0s.
In below patch, we check if a process is in same namespace before
loading into pid array.
Signed-off-by: Gowrishankar M <gowrishankar.m at in.ibm.com>
Acked-by: Paul Menage <menage at google.com>
---
kernel/cgroup.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 35eebd5..25fdd2c 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2011,14 +2011,15 @@ int cgroup_scan_tasks(struct cgroup_scanner *scan)
*/
static int pid_array_load(pid_t *pidarray, int npids, struct cgroup *cgrp)
{
- int n = 0;
+ int n = 0, pid;
struct cgroup_iter it;
struct task_struct *tsk;
cgroup_iter_start(cgrp, &it);
while ((tsk = cgroup_iter_next(cgrp, &it))) {
if (unlikely(n == npids))
break;
- pidarray[n++] = task_pid_vnr(tsk);
+ if ((pid = task_pid_vnr(tsk)) > 0)
+ pidarray[n++] = pid;
}
cgroup_iter_end(cgrp, &it);
return n;
--
1.5.5.1
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list