Re: [PATCH V4 3/4] block: queue work on unbound wq

From: Jens Axboe
Date: Mon Apr 08 2013 - 07:14:01 EST


On Sun, Mar 31 2013, Tejun Heo wrote:
> Hello, Viresh.
>
> On Sun, Mar 31, 2013 at 08:01:46PM +0530, Viresh Kumar wrote:
> > Block layer uses workqueues for multiple purposes. There is no real dependency
> > of scheduling these on the cpu which scheduled them.
> >
> > On a idle system, it is observed that and idle cpu wakes up many times just to
> > service this work. It would be better if we can schedule it on a cpu which the
> > scheduler believes to be the most appropriate one.
> >
> > This patch replaces normal workqueues with UNBOUND versions.
>
> Hmm.... so, we really don't want to unconditionally convert workqueues
> to unbound. Especially not kblockd. On configurations with multiple
> high iops devices with IRQ routing, having request completion runinng
> on the same CPU has significant performance advantages. We can't
> simply switch it to an unbound wokrqueue because it saves power on
> small arm configuration.

I had the same complaint, when it was posted originally...

> Plus, I'd much prefer to be clearly marking the workqueues which would
> contribute to powersaving when converted to unbound at least until we
> can come up with a no-compromise solution which doesn't need to trade
> off between cache locality and powersaving.
>
> So, let's please introduce a new flag to mark these workqueues, say,
> WQ_UNBOUND_FOR_POWER_SAVE or whatever (please come up with a better
> name) and provide a compile time switch with boot time override.

And lets please have it off by default. The specialized configs / setups
can turn it on, but we should default to better performance.

--
Jens Axboe

--
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/