From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751354AbdBWJRd (ORCPT ); Thu, 23 Feb 2017 04:17:33 -0500 Received: from merlin.infradead.org ([205.233.59.134]:44034 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750952AbdBWJRb (ORCPT ); Thu, 23 Feb 2017 04:17:31 -0500 Date: Thu, 23 Feb 2017 10:17:22 +0100 From: Peter Zijlstra To: Mike Galbraith Cc: Thomas Gleixner , Olof Johansson , Linus Torvalds , LKML , Andrew Morton , Ingo Molnar , "H. Peter Anvin" Subject: Re: [GIT pull] x86/timers for 4.10 Message-ID: <20170223091722.GY6515@twins.programming.kicks-ass.net> References: <1486559080.4488.23.camel@gmx.de> <1487838006.4463.34.camel@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1487838006.4463.34.camel@gmx.de> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 23, 2017 at 09:20:06AM +0100, Mike Galbraith wrote: > On Thu, 2017-02-09 at 16:07 +0100, Thomas Gleixner wrote: > > Can you share your cheatery ? > > I can do better than that... sorta ;-) > > x86/tsc: Fix unreliable tsc adjust > > On a 4 socket BIOS challenged box (4x18), the magic number '3' does > not work reliably, resulting in TSC being disabled more often than not. > > Replace defective magic number '3' with functional magic number '5', > derived via scientific method number sockets in afflicted box, plus > one for good luck, and reboot box a lot to validate (poke 'n' hope). > > Signed-off-by: Mike Galbraith > --- > arch/x86/kernel/tsc_sync.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/arch/x86/kernel/tsc_sync.c > +++ b/arch/x86/kernel/tsc_sync.c > @@ -294,7 +294,7 @@ void check_tsc_sync_source(int cpu) > if (!boot_cpu_has(X86_FEATURE_TSC_ADJUST)) > atomic_set(&test_runs, 1); > else > - atomic_set(&test_runs, 3); > + atomic_set(&test_runs, 5); > retry: > /* > * Wait for the target to start or to skip the test: Confirmed on another box too; the default of 3 wasn't sufficient to achieve sync. When upping it to 16, sync was achieved in around 4 runs or so.