lkml.org 
[lkml]   [2013]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V4 3/4] block: queue work on unbound wq
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



\
 
 \ /
  Last update: 2013-04-08 14:01    [W:0.171 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site