Re: [PATCH wq/for-3.10-fixes] workqueue: workqueue_congested()shouldn't translate WORK_CPU_UNBOUND into node number

From: Tejun Heo
Date: Tue May 14 2013 - 11:43:07 EST


On Tue, May 14, 2013 at 11:32:12AM +0200, Dirk Gouders wrote:
> Tejun Heo <tj@xxxxxxxxxx> writes:
>
> > From d3251859168b0b12841e1b90d6d768ab478dc23d Mon Sep 17 00:00:00 2001
> > From: Tejun Heo <tj@xxxxxxxxxx>
> > Date: Fri, 10 May 2013 11:10:17 -0700
> >
> > df2d5ae499 ("workqueue: map an unbound workqueues to multiple per-node
> > pool_workqueues") made unbound workqueues to map to multiple per-node
> > pool_workqueues and accordingly updated workqueue_contested() so that,
> > for unbound workqueues, it maps the specified @cpu to the NUMA node
> > number to obtain the matching pool_workqueue to query the congested
> > state.
> >
> > Before this change, workqueue_congested() ignored @cpu for unbound
> > workqueues as there was only one pool_workqueue and some users
> > (fscache) called it with WORK_CPU_UNBOUND. After the commit, this
> > causes the following oops as WORK_CPU_UNBOUND gets translated to
> > garbage by cpu_to_node().
>
> I probably also noticed this problem with 3.10.0-rc1-00087-g674825d when
> I invoked init 0 (see attached oops). I applied your patch and after
> that the problem has gone.

Thanks, sending the patch to Linus right now.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/