lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 31 Mar 2015 15:37:45 -0400
From:	Tejun Heo <tj@...nel.org>
To:	cmetcalf@...hip.com
Cc:	"Peter Zijlstra (Intel)" <peterz@...radead.org>,
	Frederic Weisbecker <fweisbec@...il.com>,
	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] workqueue: avoid nohz_full cores

Hello, Chris.

On Tue, Mar 31, 2015 at 03:25:59PM -0400, cmetcalf@...hip.com wrote:
> From: Chris Metcalf <cmetcalf@...hip.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ