[Devel] [PATCH] cgroups: skip processes from other namespaces when listing a cgroup
gowrishankar
gomuthuk at linux.vnet.ibm.com
Sun Dec 7 06:46:01 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>
Acked-by: Serge Hallyn <serue at us.ibm.com>
changes for vpid and pid_t
---
kernel/cgroup.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 35eebd5..588d305 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2012,13 +2012,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;
+ pid_t vpid;
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 ((vpid = task_pid_vnr(tsk)) > 0)
+ pidarray[n++] = vpid;
}
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