Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756715AbcJGOzY (ORCPT ); Fri, 7 Oct 2016 10:55:24 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:20025 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753368AbcJGOzQ (ORCPT ); Fri, 7 Oct 2016 10:55:16 -0400 Subject: Re: [PATCH 1/2] watchdog: Introduce update_arch_nmi_watchdog To: Sam Ravnborg References: <1475792203-230942-1-git-send-email-babu.moger@oracle.com> <1475792203-230942-2-git-send-email-babu.moger@oracle.com> <20161007043423.GA7263@ravnborg.org> Cc: mingo@kernel.org, akpm@linux-foundation.org, ak@linux.intel.com, jkosina@suse.cz, baiyaowei@cmss.chinamobile.com, dzickus@redhat.com, atomlin@redhat.com, uobergfe@redhat.com, tj@kernel.org, hidehiro.kawai.ez@hitachi.com, johunt@akamai.com, davem@davemloft.net, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org From: Babu Moger Organization: Oracle Corporation Message-ID: <8ea9198e-1407-12ba-2909-ded6e8ec5eb0@oracle.com> Date: Fri, 7 Oct 2016 09:54:16 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161007043423.GA7263@ravnborg.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1662 Lines: 47 On 10/6/2016 11:34 PM, Sam Ravnborg wrote: > On Thu, Oct 06, 2016 at 03:16:42PM -0700, Babu Moger wrote: >> Currently we do not have a way to enable/disable arch specific >> watchdog handlers if it was implemented by any of the architectures. >> >> This patch introduces new function update_arch_nmi_watchdog >> which can be used to enable/disable architecture specific NMI >> watchdog handlers. Also exposes watchdog_enabled variable outside >> so that arch specific nmi watchdogs can use it to implement >> enalbe/disable behavour. >> >> Signed-off-by: Babu Moger >> --- >> include/linux/nmi.h | 1 + >> kernel/watchdog.c | 16 +++++++++++++--- >> 2 files changed, 14 insertions(+), 3 deletions(-) >> >> diff --git a/include/linux/nmi.h b/include/linux/nmi.h >> index 4630eea..01b4830 100644 >> --- a/include/linux/nmi.h >> +++ b/include/linux/nmi.h >> @@ -66,6 +66,7 @@ static inline bool trigger_allbutself_cpu_backtrace(void) >> >> #ifdef CONFIG_LOCKUP_DETECTOR >> u64 hw_nmi_get_sample_period(int watchdog_thresh); >> +extern unsigned long watchdog_enabled; > The extern is within an #ifdef, but the definition later is > valid alway. > So extern definition should be outside the #ifdef to match the > actual implementation. Ok. Sure. > > To manipulate / read watchdog_enabled two constants are used: > NMI_WATCHDOG_ENABLED, SOFT_WATCHDOG_ENABLED Sure. I will bring these definitions to nmi.h from watchdog.c > They should be visible too, so uses do not fall into the trap > and uses constants (like in patch 2). Will re-post v2 version with these changes. Thanks for the comments. > > Sam