Re: Crashes with 874bbfe600a6 in 3.18.25

From: Mike Galbraith
Date: Tue Feb 09 2016 - 13:02:45 EST


On Tue, 2016-02-09 at 18:56 +0100, Mike Galbraith wrote:
> On Tue, 2016-02-09 at 12:54 -0500, Tejun Heo wrote:
> > Hello, Mike.
> >
> > On Tue, Feb 09, 2016 at 06:04:04PM +0100, Mike Galbraith wrote:
> > > workqueue: schedule WORK_CPU_UNBOUND work on wq_unbound_cpumask
> > > CPUs
> > >
> > > WORK_CPU_UNBOUND work items queued to a bound workqueue always
> > > run
> > > locally. This is a good thing normally, but not when the user
> > > has
> > > asked us to keep unbound work away from certain CPUs. Round
> > > robin
> > > these to wq_unbound_cpumask CPUs instead, as perturbation
> > > avoidance
> > > trumps performance.
> >
> > I don't think doing this by default for everyone is a good idea. A
> > lot of workqueue usages tend to touch whatever the scheduler was
> > touching after all. Doing things per-cpu is generally a pretty
> > good
> > thing.
>
> It doesn't do anything unless the user twiddles the mask to exclude
> certain (think no_hz_full) CPUs, so there are no clueless victims.

(a plus: testers/robots can twiddle mask to help find bugs, _and_
nohz_full people can use it if they so choose)