From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751220AbdBWIWy (ORCPT ); Thu, 23 Feb 2017 03:22:54 -0500 Received: from mout.gmx.net ([212.227.15.18]:57224 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750944AbdBWIWq (ORCPT ); Thu, 23 Feb 2017 03:22:46 -0500 Message-ID: <1487838006.4463.34.camel@gmx.de> Subject: Re: [GIT pull] x86/timers for 4.10 From: Mike Galbraith To: Thomas Gleixner Cc: Olof Johansson , Linus Torvalds , LKML , Andrew Morton , Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra Date: Thu, 23 Feb 2017 09:20:06 +0100 In-Reply-To: References: <1486559080.4488.23.camel@gmx.de> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:W7TtjDb0r3S6A63+OdeTnHpw15KKw5HBh7b79rOCzjPdTlO3xV/ GKpqD43e+WXSTdi9/+m+b4BUDQE+i1bj1wzL4k4fj4favW04E+7YKuhPO0ILAu/+N3IUDLz dqtoe2YmoiEJuhvGb2H8TeDRBeZ7BR3Akd9TqDD+YVtnPFa2BGLp+m0LoTVA4LGDyazsBmt Jvzn2DzZazJCQTkcsr/MA== X-UI-Out-Filterresults: notjunk:1;V01:K0:Oe8g7kLbpL8=:3woMvRng3MVzm1I3lROQd4 VwW3j0lCGEP+84XiF1GDSEw/qTae2NsKVRqHN9cCqRF3EquAqNEt244jv5WoAA3GfCwU6hlPp qC9Hot8YpqtJbI6Z7bpoKPTy2uDeVwq9PUby5NYIC6y7mhTQ++fmRcIk6PyMZlAm+rD+SREQI ElAvb7xUzRwXfNK8tpQ+UbEuoE/Fif1o5VWLeaHDYIwd78EtRT1DC/Vsgx7FD8rERGWUn1pec o0g1pXN1qMhgf2DD2Ba7FNPd5Xod+67itc2dU8+Hz47tdVPRubjhyBo1JStnXJMcQ7iS9EJq3 OB81koYuqdhhYrO0cq/+A3TMoax7nU50ftrCIgN8TO9IltTDiuUclfCfLlxoPrs5dSKmvoROW p5qUSEqOTkKVDab16LEdT3rfTC4TVd+YNAHeziIADsZW+Y5QAAK4PTXVeEMcPA3Qj17FwyglA 1i51owzzU4ZpbLuNFPn5In7zprpgi+RSILWUfEFd72oO20+nx9YZYeVLBBl8Gsl7c3OEOGi26 XOLcUPxHrxAxwn/tRLF89zvXGDPmsqUMpM4oGpuoC9IG5z8i3jNVM3tIZVL7dmwPXZo+af1QG CoUSQumHKsgHrJqpY9jj0xrJahRf5YTP62e+a9ro43YxVbsWOXJc8ZY9lFKneNp8s9hXAPAId s76MnqEQIFboeXx12qShNU9VdaNF3dj26UlTs/3pFaMv58XoQT+f3RSpmq2RvKuitMFNa4eS2 jF6LKH7orQkssuGrP6Fjx4Drk+ZeXOzFpWlgy5C7/Jm2k0IPIvqvVTa+e8+4QJd85CUSXNcV9 5HwMjoF Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2017-02-09 at 16:07 +0100, Thomas Gleixner wrote: > On Wed, 8 Feb 2017, Mike Galbraith wrote: > > On Wed, 2017-02-08 at 12:44 +0100, Thomas Gleixner wrote: > > > On Mon, 6 Feb 2017, Olof Johansson wrote: > > > > [ 0.177102] [Firmware Bug]: TSC ADJUST differs: Reference > > > > CPU0: > > > > -6495898515190607 CPU1: -6495898517158354 > > > > > > Yay, another "clever" BIOS .... > > > > Oh yeah, that reminds me... > > > > I met one such box, and the adjustment code did salvage it, but I > > had > > to cheat a little for it to do so reliably, as it would sometimes > > still > > see a delta of 1 or 2 whole cycles, and hand me a useless wreck > > instead > > quick like bunny big box. > > 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: