From: Frederic Weisbecker <fweisbec@gmail.com>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Oleg Nesterov <oleg@redhat.com>, Christoph Lameter <cl@linux.com>,
Rik van Riel <riel@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 3/3] kmod: Remove unecessary explicit wide CPU affinity setting
Date: Mon, 6 Jul 2015 17:33:41 +0200 [thread overview]
Message-ID: <1436196821-13962-4-git-send-email-fweisbec@gmail.com> (raw)
In-Reply-To: <1436196821-13962-1-git-send-email-fweisbec@gmail.com>
The call_usermodehelper_exec_[a]sync() kernel threads are created by
khelper precisely because we want them to be affine to all CPUs,
irrespective of any call_usermodehelper() caller with reduced CPU
affinity. So this explicit all-CPUs wide affinity forcing is useless.
Not only useless it even breaks nohz full. The housekeeping work
(general kernel internal code that user doesn't care much about) is
handled by a reduced set of CPUs in nohz full, precisely those that are
not included by nohz_full= kernel parameters. For example unbound
workqueues are handled by housekeeping CPUs. And we want the
usermodehelper tasks to be handled by housekeeping CPUs because they are
kernel internals that user critical nohz full work don't want to be
disturbed by.
In nohz full configurations, khelper will naturally be affine to
housekeeping CPUs and this housekeeping affinity is then inherited by
usermodehelper kernel threads. But the explicit call to
set_cpus_allowed_ptr() breaks that.
Simply remove it.
Cc: Rik van Riel <riel@redhat.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Lameter <cl@linux.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
kernel/kmod.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/kernel/kmod.c b/kernel/kmod.c
index f940b21..b89342b 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -223,9 +223,6 @@ static int call_usermodehelper_exec_async(void *data)
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.
--
2.1.4
next prev parent reply other threads:[~2015-07-06 15:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 15:33 [PATCH 0/3] kmod: Make nohz-full friendly + cleanups Frederic Weisbecker
2015-07-06 15:33 ` [PATCH 1/3] kmod: Bunch of internal functions renames Frederic Weisbecker
2015-07-06 15:33 ` [PATCH 2/3] kmod: Add up-to-date explanations on the purpose of each asynchronous levels Frederic Weisbecker
2015-07-07 23:07 ` Andrew Morton
2015-07-08 12:54 ` Frederic Weisbecker
2015-07-06 15:33 ` Frederic Weisbecker [this message]
2015-07-07 16:30 ` [PATCH 3/3] kmod: Remove unecessary explicit wide CPU affinity setting Oleg Nesterov
2015-07-07 17:10 ` Frederic Weisbecker
2015-07-07 17:36 ` Oleg Nesterov
2015-07-07 17:38 ` 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=1436196821-13962-4-git-send-email-fweisbec@gmail.com \
--to=fweisbec@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=riel@redhat.com \
/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
Powered by JetHome