From: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Cc: Containers
<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Sukadev
<sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
Eric <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
Gowrishankar M
<gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
Balbir <balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Subject: Re: [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all
Date: Thu, 18 Dec 2008 11:32:22 -0600 [thread overview]
Message-ID: <20081218173222.GA13661@us.ibm.com> (raw)
In-Reply-To: <1229620248.17206.537.camel@nimitz>
Quoting Dave Hansen (dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
> On Thu, 2008-12-18 at 22:12 +0530, Gowrishankar M wrote:
> > 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.
>
> > 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)
>
> So this is a performance optimization?
>
> Isn't that task_pid_vnr() basically an is_container_init() check? Why
> did it go away?
Oh, good catch - the container init should still be skipped, no?
> This patch implies that ever process in another's thread group is also
> in the same pid namespace. That seems like a sane assumption, but I'd
> probably hesitate without Oleg or Eric taking a good look.
copy_pid_ns() enforced that CLONE_THREAD and CLONE_NEWPID cannot
be specified together.
-serge
next prev parent reply other threads:[~2008-12-18 17:32 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 ` [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all Gowrishankar M
[not found] ` <1229618553-6348-5-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04 ` Serge E. Hallyn
2008-12-18 17:10 ` Dave Hansen
2008-12-18 17:32 ` Serge E. Hallyn [this message]
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=20081218173222.GA13661@us.ibm.com \
--to=serue-r/jw6+rmf7hqt0dzr+alfa@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=gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.