[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131108163112.GA12853@localhost.localdomain>
Date: Fri, 8 Nov 2013 17:31:14 +0100
From: Frederic Weisbecker <fweisbec@...il.com>
To: Christoph Lameter <cl@...ux.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Mike Galbraith <bitbucket@...ine.de>,
Thomas Gleixner <tglx@...utronix.de>,
Gilad Ben-Yossef <gilad@...yossef.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Mike Frysinger <vapier@...too.org>
Subject: Re: [PATCH] kmod: Run usermodehelpers only on cpus allowed for
kthreadd V2
On Fri, Nov 08, 2013 at 03:06:59PM +0000, Christoph Lameter wrote:
> On Thu, 7 Nov 2013, Frederic Weisbecker wrote:
>
> > usermodehelper works are created via workqueues, right? And workqueues are an issue as
> > well for those who want CPU isolation.
>
> AFAICT usermodehelper can be called from a variety of contexts.
But it looks like it always end up calling a workqueue. May be I missed something though.
Now we can argue that this workqueue seem to create kernel threads, which in turn create other kernel thread (uhh?)
and I don't know if those inherit the kworker affinity. But from a quick look, it seems to me that
this is what we want.
BTW the use of kernel_thread is justified in this comment: "/* Keventd can't block, but this (a child) can. */"
Do these kernel_threads exist because kworker can't block? Actually the new workqueue subsystem can have blocking
worklets now, may be something can be simplified there although I haven't checked the details. But perhaps
we can spare one level of kernel threads.
Can't we use kthreads there btw? Or may be we need a task->mm to do the user things.
>
> > So this looks like a more general problem than just call_usermodehelper.
>
> Well the code explicitly sets the the affinity mask to all cpus which
> creates a problem for low latency processors. It does not inherit the
> affinity from any calling process.
But how is that an argument in favour of changing this to inheriting the affinity from
the workqueue thread rather than kthread?
>
> > Last time I checked, it seemed to me that this is an unbound workqueue? If so can't we tune
> > the affinity of this workqueue? If not perhaps that's something we want to solve and which
> > could be useful for all the users who don't want their CPU to be disturbed.
>
> There are various contexts from which usermodehelper can be called.
> Drivers use it etc.
But they all converge to the workqueue, or I'm missing other code paths?
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists