Received: by 2002:a05:6358:f14:b0:e5:3b68:ec04 with SMTP id b20csp38365rwj; Wed, 21 Dec 2022 22:37:38 -0800 (PST) X-Google-Smtp-Source: AMrXdXvAjZsYVIsRygppEfg3+W+45lL7ZWlEVRkgyx+qA6mAPcbazaYxwSTGgtjXDCcfNyb7KCpS X-Received: by 2002:aa7:c617:0:b0:47e:7fbe:6dee with SMTP id h23-20020aa7c617000000b0047e7fbe6deemr2738762edq.14.1671691058730; Wed, 21 Dec 2022 22:37:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671691058; cv=none; d=google.com; s=arc-20160816; b=W6PLrjTwA1i0yOCG4bmBRtFLQ/3zB40rmGE0LhV3EIYJua3M3NqIgoftCzgwovt8Xg bB7dOCRTepe9dlMsKC+K5SET3yHaVJhIBSd5uzyAKXkylIV0oN2i/h9i8HYQmFDnqhzX 8kEhXPoglXTw58iHTJFbqNUGN8ZBdnB6+b6zfjsDN/K7xw5sgXJgy6lodhRjgLK4PQNT qmvhgOhtvCWsDBOM/lqCsgybA5poXwL4zpLj5VvPyM9kMaK7b70GhJ1DY1lTmbQ/DvJ5 O97G1wR3V1B4TXRKUcUNb7G0wQwi2yn5reRIlEz5aGTjzdCu5DBEhZSYRIvlcDV7bGzy gJQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=4THsE2TL8bL8RZqKu+jLMOASEDnmQTj8EUh9fKkdg00=; b=BcNkwm8PTxwvU3O45lGxBZ2RVoiKe4hUaolRb1IaSlU+JtiHNh4bVJ1JC+8CByLM5K B519Yt69YCgevfzPDioStmgS+4xa/YrLi7xNVrUZh7qQCZXbjCs5v89cbIZ6bBNtQMWn Kacisw5R1dINDkd6AawzQjeK1l/b0t7OAPLhwrMoAIQfp6pff3LxXyjoTStrYWd5HN36 L+GWVfBL9rXxPFHPSy+T2OWGyRHsuPWqPUBoXHiZmmS9f+/lbmaPGJY1JPcSdhCoiUeA kiMRFgy73MI170QKaJbmAPMJvIuy6cRF1OnmYKCoKv8bjQvIhGGH3JTUKfm+7O0c8jo7 YfzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=KDEBy+SC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b9-20020a056402278900b004619867344csi58513ede.0.2022.12.21.22.37.23; Wed, 21 Dec 2022 22:37:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=KDEBy+SC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235060AbiLVGOp (ORCPT + 67 others); Thu, 22 Dec 2022 01:14:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235113AbiLVGOd (ORCPT ); Thu, 22 Dec 2022 01:14:33 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31B982036A for ; Wed, 21 Dec 2022 22:14:32 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id D0DB1B80185 for ; Thu, 22 Dec 2022 06:14:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9572EC433D2; Thu, 22 Dec 2022 06:14:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1671689669; bh=XnC+DgEWZz+YzDRGf5j6G0o5KbicYko0CA3hGhqODfg=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=KDEBy+SCQg7ytllnxTEjOzexshAtWrlZQeLU46fYvbjdLjRBO7nDWSWdivyUHCKY4 pjcsk5nBJ0z/zNfYoqtjs5516GGXESSG4pOlmMNgfs44VZ9g2/6iFbTsgRuGoyNLDP IV4CFSq1J0QMPfEnMDhOgW1FNdJgjfXEzlzzVQr+aGTw8rRTgtwKmQMRKUL/IIIsLS ZJxqEWwz/BL5Y8v2K30Yxcbqk+VidGJYVw6Bc4s86K9pKDMfkvBHz7avopEd/c7lRY /wDwj9JVODyYMhG5kbRQlhh7sIkQ6SVBb+kPaWya6GmMIX2evSoumc7YKTtblTY42P qUeOy3k45RP+w== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 2E78B5C1409; Wed, 21 Dec 2022 22:14:29 -0800 (PST) Date: Wed, 21 Dec 2022 22:14:29 -0800 From: "Paul E. McKenney" To: Feng Tang Cc: Waiman Long , John Stultz , Thomas Gleixner , Stephen Boyd , x86@kernel.org, Peter Zijlstra , linux-kernel@vger.kernel.org, Tim Chen Subject: Re: [RFC PATCH] clocksource: Suspend the watchdog temporarily when high read lantency detected Message-ID: <20221222061429.GL4001@paulmck-ThinkPad-P17-Gen-1> Reply-To: paulmck@kernel.org References: <20221220082512.186283-1-feng.tang@intel.com> <6fb04ee9-ce77-4835-2ad1-b7f8419cfb77@redhat.com> <20221220183400.GY4001@paulmck-ThinkPad-P17-Gen-1> <8a9bed0d-c166-37e9-24c3-8cea7a336c76@redhat.com> <20221222004032.GI4001@paulmck-ThinkPad-P17-Gen-1> <20221222055515.GJ4001@paulmck-ThinkPad-P17-Gen-1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 22, 2022 at 02:00:42PM +0800, Feng Tang wrote: > On Wed, Dec 21, 2022 at 09:55:15PM -0800, Paul E. McKenney wrote: > > On Wed, Dec 21, 2022 at 10:39:53PM -0500, Waiman Long wrote: > > > On 12/21/22 19:40, Paul E. McKenney wrote: > > > > commit 199dfa2ba23dd0d650b1482a091e2e15457698b7 > > > > Author: Paul E. McKenney > > > > Date: Wed Dec 21 16:20:25 2022 -0800 > > > > > > > > clocksource: Verify HPET and PMTMR when TSC unverified > > > > On systems with two or fewer sockets, when the boot CPU has CONSTANT_TSC, > > > > NONSTOP_TSC, and TSC_ADJUST, clocksource watchdog verification of the > > > > TSC is disabled. This works well much of the time, but there is the > > > > occasional system that meets all of these criteria, but which still > > > > has a TSC that skews significantly from atomic-clock time. This is > > > > usually attributed to a firmware or hardware fault. Yes, the various > > > > NTP daemons do express their opinions of userspace-to-atomic-clock time > > > > skew, but they put them in various places, depending on the daemon and > > > > distro in question. It would therefore be good for the kernel to have > > > > some clue that there is a problem. > > > > The old behavior of marking the TSC unstable is a non-starter because a > > > > great many workloads simply cannot tolerate the overheads and latencies > > > > of the various non-TSC clocksources. In addition, NTP-corrected systems > > > > often seem to be able to tolerate significant kernel-space time skew as > > > > long as the userspace time sources are within epsilon of atomic-clock > > > > time. > > > > Therefore, when watchdog verification of TSC is disabled, enable it for > > > > HPET and PMTMR (AKA ACPI PM timer). This provides the needed in-kernel > > > > time-skew diagnostic without degrading the system's performance. > > > > Signed-off-by: Paul E. McKenney > > > > Cc: Thomas Gleixner > > > > Cc: Ingo Molnar > > > > Cc: Borislav Petkov > > > > Cc: Dave Hansen > > > > Cc: "H. Peter Anvin" > > > > Cc: Daniel Lezcano > > > > Cc: Feng Tang > > > > Cc: Waiman Long > > > Cc: > > > > > > As I currently understand, you are trying to use TSC as a watchdog to check > > > against HPET and PMTMR. I do have 2 questions about this patch. > > > > > > First of all, why you need to use both HPET and PMTMR? Can you just use one > > > of those that are available. Secondly, is it possible to enable this > > > time-skew diagnostic for a limit amount of time instead running > > > indefinitely? The running of the clocksource watchdog itself will still > > > consume a tiny amount of CPU cycles. > > > > I could certainly do something so that only the first of HPET and PMTMR > > is checked. Could you give me a quick run-through of the advantages of > > using only one? I would need to explain that in the commit log. > > > > Would it make sense to have a kernel boot variable giving the number of > > minutes for which the watchdog was to run, with a default of zero > > meaning "indefinitely"? > > We've discussed about the "os noise", which customer may really care. > IIUC, this patch intends to test if HPET/PMTIMER HW is broken, so how > about making it run for a number of minutes the default behavior. It is also intended to determine if TSC is broken, with NTP drift rates used to determine which timer is at fault. OK, how about a Kconfig option for the number of minutes, set to whatever you guys tell me? (Three minutes? Five minutes? Something else?) People wanting to run it continuously could then build their kernels with that Kconfig option set to zero. > Also I've run the patch on a Alderlake system, with a fine acpi pm_timer > and a fake broken pm_timer, and they both works without errors. Thank you! Did it correctly identify the fake broken pm_timer as being broken? If so, may I have your Tested-by? Thanx, Paul