[<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