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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1601261317410.4024@east.gentwo.org>
Date:	Tue, 26 Jan 2016 13:20:17 -0600 (CST)
From:	Christoph Lameter <cl@...ux.com>
To:	Mike Galbraith <umgwanakikbuti@...il.com>
cc:	Michal Hocko <mhocko@...nel.org>,
	Peter Zijlstra <peterz@...radead.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable
 again and shut down on idle)

On Tue, 26 Jan 2016, Mike Galbraith wrote:

> > The system going idle is a fastpath. Mind boogling.
>
> Hohum, noted.  Now what about those cycles, and the sleeping lock you
> injected for -rt?

Since we (the NOHZ people) care mostly about NOHZ then lets restrict
that to the NOHZ mode. Then it should not affect your load.


Subject: Move quiet_vmstat() to NOHZ code

quiet_vmstat() seems to cause regressions for some load because
the cpu going idle is a "fastpath". Mind boogling. Strange claim.
If the system goes idle then it has nothing to do after all

But anyways if we shift the quiet_vmstat() into the NOHZ logic
when it stops the tick then it will only affect those cores that
are setup for NOHZ mode. That is where we want this processing
after all to ensure that the OS keeps itself off those cores.

Signed-off-by: Christoph Lameter <cl@...ux.com>


Index: linux/kernel/sched/idle.c
===================================================================
--- linux.orig/kernel/sched/idle.c
+++ linux/kernel/sched/idle.c
@@ -213,7 +213,6 @@ static void cpu_idle_loop(void)
 		 */

 		__current_set_polling();
-		quiet_vmstat();
 		tick_nohz_idle_enter();

 		while (!need_resched()) {
Index: linux/kernel/time/tick-sched.c
===================================================================
--- linux.orig/kernel/time/tick-sched.c
+++ linux/kernel/time/tick-sched.c
@@ -811,6 +811,7 @@ static void __tick_nohz_idle_enter(struc
 		ts->idle_calls++;

 		expires = tick_nohz_stop_sched_tick(ts, now, cpu);
+		quiet_vmstat();
 		if (expires.tv64 > 0LL) {
 			ts->idle_sleeps++;
 			ts->idle_expires = expires;

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ