From: Tejun Heo <tj@kernel.org>
To: cmetcalf@ezchip.com
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] workqueue: avoid nohz_full cores
Date: Tue, 31 Mar 2015 15:37:45 -0400 [thread overview]
Message-ID: <20150331193745.GH9974@htj.duckdns.org> (raw)
In-Reply-To: <1427829959-3023-1-git-send-email-cmetcalf@ezchip.com>
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.
Thanks.
--
tejun
next prev parent reply other threads:[~2015-03-31 19:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 19:25 cmetcalf
2015-03-31 19:37 ` Tejun Heo [this message]
2015-04-01 7:56 ` Peter Zijlstra
2015-04-01 15:46 ` Tejun Heo
2015-03-31 20:58 ` Frederic Weisbecker
2015-03-31 21:06 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150331193745.GH9974@htj.duckdns.org \
--to=tj@kernel.org \
--cc=cmetcalf@ezchip.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=schwidefsky@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome