From: Oleg Nesterov <oleg@redhat.com>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Christoph Lameter <cl@linux.com>,
Peter Zijlstra <peterz@infradead.org>,
Tejun Heo <htejun@gmail.com>,
zhang.yi20@zte.com.cn, lkml <linux-kernel@vger.kernel.org>,
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH 1/1] usermodehelper: kill ____call_usermodehelper()->set_cpus_allowed_ptr()
Date: Thu, 5 Dec 2013 15:37:45 +0100 [thread overview]
Message-ID: <20131205143745.GA18488@redhat.com> (raw)
In-Reply-To: <CAFTL4hw+Ztsy5uy2WOsyxQ1dL7B_rPEU=XtisoR5X18cPQ7LYg@mail.gmail.com>
On 12/05, Frederic Weisbecker wrote:
>
> 2013/11/28 Oleg Nesterov <oleg@redhat.com>:
> > ____call_usermodehelper() does set_cpus_allowed_ptr(cpu_all_mask),
> > this (and the comment) is misleading. We no longer have keventd_wq,
> > and kmod.c switched to khelper_wq a long ago.
> >
> > And more importantly, "unlike our parent" is no longer true too,
> > this thread was created by WQ_UNBOUND worker thread which has the
> > full ->cpus_allowed mask, so this set_cpus_allowed_ptr() is simply
> > unnecessary.
> >
> > Perhaps we will change this later, so that userspace can control
> > the affinity of the usermode helper tasks, but this is yet another
> > reason to remove this set_cpus_allowed_ptr().
> >
> > To some degree this also applies to set_user_nice(), but this
> > patch only updates the comment.
> >
> > Signed-off-by: Oleg Nesterov <oleg@redhat.com>
>
> I'm adding Christophe in Cc because he is interested in tweaking the
> affinity of call_usermodehelper for cpu isolation. This welcome
> cleanup confirms that we want to take the direction of being able to
> change the affinity of workqueue themselves instead of just
> call_usermodehelper() alone.
OK, but I'd like to remind just in case, as Tejun pointed out this
patch is wrong ;)
And "change the affinity of workqueue themselves" is not simple, but
we can make khelper_wq WQ_SYSFS.
> > kernel/kmod.c | 8 ++------
> > 1 files changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/kernel/kmod.c b/kernel/kmod.c
> > index b086006..2fe4544 100644
> > --- a/kernel/kmod.c
> > +++ b/kernel/kmod.c
> > @@ -208,13 +208,9 @@ static int ____call_usermodehelper(void *data)
> > spin_lock_irq(¤t->sighand->siglock);
> > flush_signal_handlers(current, 1);
> > spin_unlock_irq(¤t->sighand->siglock);
> > -
> > - /* We can run anywhere, unlike our parent keventd(). */
> > - set_cpus_allowed_ptr(current, cpu_all_mask);
> > -
> > /*
> > - * Our parent is keventd, which runs with elevated scheduling priority.
> > - * Avoid propagating that into the userspace child.
> > + * Our parent is a workqueue thread, which can run with elevated
> > + * scheduling priority. Avoid propagating that into the userspace.
> > */
> > set_user_nice(current, 0);
> >
> > --
> > 1.5.5.1
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2013-12-05 14:37 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-14 1:51 kmod: avoid propagating PF_NO_SETAFFINITY into userspace child zhang.yi20
2013-11-14 5:23 ` Tejun Heo
2013-11-14 11:40 ` Oleg Nesterov
2013-11-14 11:55 ` [PATCH 0/1]: (Was: kmod: avoid propagating PF_NO_SETAFFINITY into userspace child) Oleg Nesterov
2013-11-14 11:56 ` [PATCH 1/1] workqueue: swap set_cpus_allowed_ptr() and PF_NO_SETAFFINITY Oleg Nesterov
2013-11-22 23:13 ` Tejun Heo
[not found] ` <OF36E72FA9.51146BE3-ON48257C2E.0008BC6D-48257C2E.0008FF9C@zte.com.cn>
2013-11-25 12:14 ` 答复: " Oleg Nesterov
2013-11-26 2:10 ` [PATCH]: exec: avoid propagating PF_NO_SETAFFINITY into userspace child zhang.yi20
2013-11-26 18:04 ` Oleg Nesterov
2013-11-27 2:07 ` zhang.yi20
2013-11-27 13:20 ` Oleg Nesterov
2013-11-27 18:31 ` Tejun Heo
2013-11-28 9:13 ` Peter Zijlstra
2013-11-28 11:45 ` Oleg Nesterov
2013-11-28 12:17 ` Peter Zijlstra
2013-11-28 13:31 ` Oleg Nesterov
2013-11-28 13:39 ` Peter Zijlstra
2013-11-28 14:13 ` Tejun Heo
2013-11-28 14:31 ` Peter Zijlstra
2013-11-28 14:38 ` Tejun Heo
2013-11-28 14:47 ` Peter Zijlstra
2013-11-28 14:51 ` Tejun Heo
2013-11-28 14:55 ` Peter Zijlstra
2013-11-28 14:57 ` Tejun Heo
2013-11-28 14:59 ` Peter Zijlstra
2013-11-28 15:07 ` Tejun Heo
2013-11-28 15:17 ` Peter Zijlstra
2013-11-28 15:39 ` Tejun Heo
2013-11-28 16:33 ` Peter Zijlstra
2013-11-29 14:33 ` Tejun Heo
2013-11-28 15:47 ` Oleg Nesterov
2013-11-28 16:07 ` Oleg Nesterov
2013-11-28 14:43 ` Peter Zijlstra
2013-11-28 14:53 ` Tejun Heo
2013-11-28 14:57 ` Peter Zijlstra
2013-11-28 15:02 ` Tejun Heo
2013-11-28 15:07 ` Peter Zijlstra
2013-11-28 15:10 ` Tejun Heo
2013-11-28 15:18 ` Peter Zijlstra
2013-11-28 14:38 ` Peter Zijlstra
2013-11-28 14:45 ` Tejun Heo
2013-11-28 14:53 ` Peter Zijlstra
2013-11-28 15:34 ` Oleg Nesterov
2013-11-28 15:40 ` Peter Zijlstra
2013-11-28 16:20 ` Oleg Nesterov
2013-11-28 16:38 ` Peter Zijlstra
2013-11-28 18:13 ` Oleg Nesterov
2013-11-28 14:23 ` Oleg Nesterov
2013-11-28 14:31 ` Tejun Heo
2013-11-28 15:00 ` Oleg Nesterov
2013-11-28 15:02 ` Peter Zijlstra
2013-11-28 19:33 ` [PATCH 0/1] usermodehelper: kill ____call_usermodehelper()->set_cpus_allowed_ptr() Oleg Nesterov
2013-11-28 19:33 ` [PATCH 1/1] " Oleg Nesterov
2013-11-29 13:44 ` Tejun Heo
2013-11-29 16:49 ` Oleg Nesterov
2013-12-05 14:21 ` Frederic Weisbecker
2013-12-05 14:37 ` Oleg Nesterov [this message]
2013-12-05 14:39 ` Tejun Heo
2013-12-05 15:30 ` Oleg Nesterov
2013-12-05 19:13 ` Christoph Lameter
2013-12-06 14:53 ` Oleg Nesterov
2013-12-06 15:37 ` Christoph Lameter
2013-12-06 15:56 ` Oleg Nesterov
2013-12-05 16:26 ` Frederic Weisbecker
2013-12-05 14:42 ` Frederic Weisbecker
2013-11-28 13:41 ` [PATCH]: exec: avoid propagating PF_NO_SETAFFINITY into userspace child Peter Zijlstra
2013-11-28 14:05 ` Tejun Heo
2013-11-28 14:34 ` Oleg Nesterov
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=20131205143745.GA18488@redhat.com \
--to=oleg@redhat.com \
--cc=cl@linux.com \
--cc=fweisbec@gmail.com \
--cc=htejun@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=peterz@infradead.org \
--cc=zhang.yi20@zte.com.cn \
/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.