From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965168AbcBDCMb (ORCPT ); Wed, 3 Feb 2016 21:12:31 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:33506 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753242AbcBDCM3 (ORCPT ); Wed, 3 Feb 2016 21:12:29 -0500 Message-ID: <1454551945.3677.32.camel@gmail.com> Subject: Re: [PATCH wq/for-4.5-fixes] workqueue: handle NUMA_NO_NODE for unbound pool_workqueue lookup From: Mike Galbraith To: Tejun Heo , Thomas Gleixner Cc: LKML , Michal Hocko , Jiri Slaby , Petr Mladek , Jan Kara , Ben Hutchings , Sasha Levin , Shaohua Li , Daniel Bilik Date: Thu, 04 Feb 2016 03:12:25 +0100 In-Reply-To: <20160203192810.GO14091@mtj.duckdns.org> References: <1454424264.11183.46.camel@gmail.com> <20160203185425.GK14091@mtj.duckdns.org> <20160203192810.GO14091@mtj.duckdns.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.5 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2016-02-03 at 14:28 -0500, Tejun Heo wrote: > Hello, > > On Wed, Feb 03, 2016 at 08:12:19PM +0100, Thomas Gleixner wrote: > > > Signed-off-by: Tejun Heo > > > Reported-by: Mike Galbraith > > > Cc: Tang Chen > > > Cc: Rafael J. Wysocki > > > Cc: Len Brown > > > Cc: stable@vger.kernel.org # v4.3+ > > > > 4.3+ ? Hasn't 874bbfe600a6 been backported to older stable kernels? > > > > Adding a 'Fixes: 874bbfe600a6 ...' tag is what you really want here. > > Oops, you're right. Will add that once Mike confirms the fix. > > > > @@ -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. > > > > So what happens if the complete node is offline? > > pool_workqueue lookup itself should be fine as dfl_pwq is assigned to > all nodes by default. When the node comes back online, things can > break currently because cpu to node mapping may change. That's what > Tang has been working on. That may make confirming the fix a bit problematic. The crash I was looking at happened on a Fujitsu box. -Mike