lkml.org 
[lkml]   [2015]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] workqueue: avoid nohz_full cores
On Tue, Mar 31, 2015 at 03:37:45PM -0400, Tejun Heo wrote:
> Hello, Chris.
>
> On Tue, Mar 31, 2015 at 03:25:59PM -0400, cmetcalf@ezchip.com wrote:
> > From: Chris Metcalf <cmetcalf@ezchip.com>
> >
> > When queuing work, we should avoid queuing it on the local cpu if
> > we are using WORK_CPU_UNBOUND and the local cpu is nohz_full, since
> > the workqueue will mean a later interrupt of the nohz_full process
> > that presumably would prefer continuing to have 100% of the core
> > without interrupts.
> >
> > Likewise, remove the nohz_full cores from unbound workqueues. If
> > all the cores are nohz_full, we leave them in.
>
> The problem with this is that workqueue currently doesn't distinguish
> why work items are queued on per-cpu workqueues. It can't tell
> whether being bound to local CPU is for correctness or optimization
> and thus can't break local execution guarantee for anybody. We need
> to hunt down all the ones which depend on local execution and annotate
> them with explicit queue_work_on() before being able to do this.

This is moot on unbound workqueues, they can run wherever so it can
never be a correctness thing, right?


\
 
 \ /
  Last update: 2015-04-01 10:21    [W:0.069 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site