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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Gowrishankar M <gomuthuk@xxxxxxxxxxxxxxxxxx>

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@xxxxxxxxxxxxxxxxxx>
---
 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@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux