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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).