Messages in this thread Patch in this message |  | | Date | Thu, 28 Nov 2013 20:33:49 +0100 | From | Oleg Nesterov <> | Subject | [PATCH 1/1] usermodehelper: kill ____call_usermodehelper()->set_cpus_allowed_ptr() |
| |
____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> --- 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
|  |