2013/11/28 Oleg Nesterov <o...@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 <o...@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. > --- > 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 majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/