[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160215182125.GG3965@htj.duckdns.org>
Date: Mon, 15 Feb 2016 13:21:25 -0500
From: Tejun Heo <tj@...nel.org>
To: Michal Hocko <mhocko@...nel.org>
Cc: Mike Galbraith <umgwanakikbuti@...il.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH wq/for-4.5-fixes] workqueue: handle NUMA_NO_NODE for
unbound pool_workqueue lookup
Hello, Michal.
On Mon, Feb 15, 2016 at 06:33:46PM +0100, Michal Hocko wrote:
> On Wed 10-02-16 10:55:03, Tejun Heo wrote:
> [...]
> > --- a/kernel/workqueue.c
> > +++ b/kernel/workqueue.c
> > @@ -570,6 +570,16 @@ static struct pool_workqueue *unbound_pwq_by_node(struct workqueue_struct *wq,
> > int node)
> > {
> > assert_rcu_or_wq_mutex_or_pool_mutex(wq);
> > +
> > + /*
> > + * XXX: @node can be NUMA_NO_NODE if CPU goes offline while a
> > + * delayed item is pending. The plan is to keep CPU -> NODE
> > + * mapping valid and stable across CPU on/offlines. Once that
> > + * happens, this workaround can be removed.
>
> I am not sure this is completely true with the code as is currently.
> Don't wee also need to use cpu_to_mem to handle memoryless CPUs?
I'm not sure. I think we still wan to distinguish workers for a
memoryless node from its neighboring node with memory. We don't want
work items for the latter to be randomly distributed to the former
after all.
Thanks.
--
tejun
Powered by blists - more mailing lists