[Devel] [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all

Gowrishankar M gowrishankar.m at linux.vnet.ibm.com
Thu Dec 18 08:42:32 PST 2008


From: Gowrishankar M <gomuthuk at linux.vnet.ibm.com>

At present we scan all processes in init namespace, whether in new namespace
or not, to send signal to all processes for container. Also we filter out
processes belonging to same namespace using task_pid_vnr().

Below patch proposes to use new macro controller to save time using pidmap.
In init namespace, this saving can be more or less achieved, as we check to
take every process with task_pid_vnr() otherwise.

Signed-off-by: Gowrishankar M <gowrishankar.m at linux.vnet.ibm.com>
---
 kernel/signal.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/kernel/signal.c b/kernel/signal.c
index 4530fc6..a2651bc 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1143,9 +1143,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
 		int retval = 0, count = 0;
 		struct task_struct * p;
 
-		for_each_process(p) {
-			if (task_pid_vnr(p) > 1 &&
-					!same_thread_group(p, current)) {
+		for_each_process_in_ns(p, current->nsproxy->pid_ns) {
+			if (!same_thread_group(p, current)) {
 				int err = group_send_sig_info(sig, info, p);
 				++count;
 				if (err != -EPERM)
-- 
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