Linux Container Development
 help / color / mirror / Atom feed
From: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: Containers
	<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
Cc: Dave <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Eric <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
	Sukadev
	<sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Balbir <balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Subject: [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all
Date: Thu, 18 Dec 2008 22:12:32 +0530	[thread overview]
Message-ID: <1229618553-6348-5-git-send-email-gowrishankar.m@linux.vnet.ibm.com> (raw)
In-Reply-To: <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>

From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>

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-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
 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

  parent reply	other threads:[~2008-12-18 16:42 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-18 16:42 pid: improved namespaced iteration over processes list (v2) Gowrishankar M
     [not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42   ` [PATCH 1/5] pid: add new iterative macros to list processes in a namespace Gowrishankar M
     [not found]     ` <1229618553-6348-2-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:45       ` Eric W. Biederman
2008-12-18 16:42   ` [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq Gowrishankar M
     [not found]     ` <1229618553-6348-3-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:58       ` Dave Hansen
2008-12-18 17:12       ` Serge E. Hallyn
2008-12-18 17:31       ` Eric W. Biederman
2008-12-18 16:42   ` [PATCH 3/5] pid: use namespaced iteration on processes while setting capability Gowrishankar M
     [not found]     ` <1229618553-6348-4-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04       ` Serge E. Hallyn
2008-12-18 17:35       ` Eric W. Biederman
2008-12-18 16:42   ` Gowrishankar M [this message]
     [not found]     ` <1229618553-6348-5-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04       ` [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all Serge E. Hallyn
2008-12-18 17:10       ` Dave Hansen
2008-12-18 17:32         ` Serge E. Hallyn
2008-12-18 16:42   ` [PATCH 5/5] pid: use namespaced iteration on processes while managing priority Gowrishankar M
     [not found]     ` <1229618553-6348-6-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:05       ` Serge E. Hallyn
     [not found]         ` <20081218170509.GC13188-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-12-18 17:46           ` Eric W. Biederman
2008-12-18 17:38       ` Eric W. Biederman
     [not found]         ` <m1d4fp8ju3.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-12-18 18:13           ` Serge E. Hallyn
     [not found]             ` <20081218181317.GA14409-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-12-18 18:54               ` Eric W. Biederman
     [not found]                 ` <m1wsdx71r7.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-12-18 19:23                   ` Serge E. Hallyn
2008-12-19  4:30                   ` Matt Helsley
2008-12-19  4:37                     ` Matt Helsley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1229618553-6348-5-git-send-email-gowrishankar.m@linux.vnet.ibm.com \
    --to=gowrishankar.m-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
    --cc=balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox