[to-be-updated] kmod-remove-unecessary-explicit-wide-cpu-affinity-setting.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     Subject: kmod: remove unecessary explicit wide CPU affinity setting
has been removed from the -mm tree.  Its filename was
     kmod-remove-unecessary-explicit-wide-cpu-affinity-setting.patch

This patch was dropped because an updated version will be merged

------------------------------------------------------
From: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Subject: kmod: remove unecessary explicit wide CPU affinity setting

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.

Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Rik van Riel <riel@xxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Christoph Lameter <cl@xxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 kernel/kmod.c |    3 ---
 1 file changed, 3 deletions(-)

diff -puN kernel/kmod.c~kmod-remove-unecessary-explicit-wide-cpu-affinity-setting kernel/kmod.c
--- a/kernel/kmod.c~kmod-remove-unecessary-explicit-wide-cpu-affinity-setting
+++ a/kernel/kmod.c
@@ -223,9 +223,6 @@ static int call_usermodehelper_exec_asyn
 	flush_signal_handlers(current, 1);
 	spin_unlock_irq(&current->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.
_

Patches currently in -mm which might be from fweisbec@xxxxxxxxx are

origin.patch
linux-next.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux