All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Galbraith <efault@gmx.de>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	"Paul E. McKenney" <paulmck@us.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Frederic Weisbecker <fweisbec@gmail.com>
Subject: [patch] Re: x86-tip tsc/tick gripage
Date: Fri, 28 Apr 2017 09:35:46 +0200	[thread overview]
Message-ID: <1493364946.4293.26.camel@gmx.de> (raw)
In-Reply-To: <1493206789.21594.25.camel@gmx.de>

On Wed, 2017-04-26 at 13:39 +0200, Mike Galbraith wrote:
> On Wed, 2017-04-26 at 12:26 +0200, Peter Zijlstra wrote:
> > On Wed, Apr 26, 2017 at 10:57:42AM +0200, Mike Galbraith wrote:
> > 
> > > Both still lose their TSC.
> > > 
> > > [   11.982468] tsc: Refined TSC clocksource calibration: 2260.999 MHz
> > > [   11.994275] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x20974a4d8bb, max_idle_ns: 440795246623 ns
> > > [   13.064172] clocksource: Switched to clocksource tsc
> > > [  240.247851] clocksource: timekeeping watchdog on CPU23: Marking clocksource 'tsc' as unstable because the skew is too large:
> > > [  240.462501] clocksource:                       'tsc' cs_now: 108fe5be09f cs_last: b90a6a0676 mask: ffffffffffffffff
> > > [  240.675057] tsc: Marking TSC unstable due to clocksource watchdog
> > 
> > 
> > And they didn't use to? We don't typically write to TSC or TSC_ADJUST
> > and thus would not cause such behaviour.
> 
> Nope.  The DL980 is my RT jitter test box, which I use all the time. 

I found evidence of lysdexia at play (hunk 2), below is an RFFS (frozen
shark) which makes my DL980 a happy camper with tip.

timer/nohz: Call tick_tmigr_idle() with proper parameter order

Extremely late timer expiration soon leads to the clocksource watchdog
killing the TSC clocksource on multisocket boxen.  Call tmigr_cpu_idle(
) with proper parameter order, and pass next_local to tmigr_cpu_idle()
so it can return what it says it returns.

Signed-off-by: Mike Galbraith <efault@gmx.de>
Fixes: ec2206b91d43 timer: Implement the hierarchical pull model
---
 kernel/time/tick-sched.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -695,7 +695,7 @@ tick_tmigr_idle(struct tick_sched *ts, u
 	if (next_global >= next_local)
 		next_global = KTIME_MAX;
 
-	next_global = tmigr_cpu_idle(next_global);
+	next_local = tmigr_cpu_idle(next_local);
 
 	return min_t(u64, next_local, next_global);
 }
@@ -768,7 +768,7 @@ static ktime_t tick_nohz_stop_sched_tick
 	 */
 	delta = next_local - basemono;
 	if (delta > (u64)TICK_NSEC)
-		next_local = tick_tmigr_idle(ts, next_local, next_global);
+		next_local = tick_tmigr_idle(ts, next_global, next_local);
 
 	ts->next_timer = next_local;
 

  parent reply	other threads:[~2017-04-28  7:37 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26  8:02 x86-tip tsc/tick gripage Mike Galbraith
2017-04-26  8:16 ` Mike Galbraith
2017-04-26  8:21   ` Ingo Molnar
2017-04-26  8:31     ` Mike Galbraith
2017-04-26  8:57       ` Mike Galbraith
2017-04-26  9:18         ` Mike Galbraith
2017-04-26 10:26         ` Peter Zijlstra
2017-04-26 11:39           ` Mike Galbraith
2017-04-26 12:30             ` Mike Galbraith
2017-04-26 18:13               ` Mike Galbraith
2017-04-27  5:26               ` Mike Galbraith
2017-04-29 16:06               ` [patch] timer: Fix timers_update_migration(), and call it in tmigr_init() Mike Galbraith
2017-04-29 18:06                 ` Paul E. McKenney
2017-04-29 18:20                   ` Mike Galbraith
2017-04-29 21:45                     ` Paul E. McKenney
2017-04-30  1:21                       ` Mike Galbraith
2017-04-30  3:43                         ` Paul E. McKenney
2017-04-30  4:20                           ` Mike Galbraith
2017-04-30  4:36                             ` Paul E. McKenney
2017-04-30 22:41                               ` Paul E. McKenney
2017-05-01  7:54                                 ` Thomas Gleixner
2017-05-01 19:33                                   ` Paul E. McKenney
2017-04-30  5:07                             ` Mike Galbraith
2017-04-28  7:35             ` Mike Galbraith [this message]
2017-04-28  8:45               ` [patch] Re: x86-tip tsc/tick gripage Mike Galbraith
2017-04-28 14:17                 ` Mike Galbraith

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=1493364946.4293.26.camel@gmx.de \
    --to=efault@gmx.de \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@kernel.org \
    --cc=paulmck@us.ibm.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.