linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Babu Moger <babu.moger@oracle.com>
To: Don Zickus <dzickus@redhat.com>
Cc: mingo@kernel.org, akpm@linux-foundation.org, ak@linux.intel.com,
	jkosina@suse.cz, baiyaowei@cmss.chinamobile.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, bp@suse.de,
	bywxiaobai@163.com, cmetcalf@mellanox.com, keescook@chromium.org,
	ebiederm@xmission.com, huawei.libin@huawei.com,
	ralf@linux-mips.org, dvyukov@google.com,
	linux-kernel@vger.kernel.org, sam@ravnborg.org
Subject: Re: [RFC PATCH 0/4] Clean up watchdog handlers
Date: Tue, 1 Nov 2016 09:58:02 -0500	[thread overview]
Message-ID: <e85c6f30-13ab-e0db-efa2-ed1012b127e8@oracle.com> (raw)
In-Reply-To: <20161101132011.GW35881@redhat.com>


On 11/1/2016 8:20 AM, Don Zickus wrote:
> On Mon, Oct 31, 2016 at 04:30:59PM -0500, Babu Moger wrote:
>> On 10/31/2016 4:00 PM, Don Zickus wrote:
>>> On Wed, Oct 26, 2016 at 09:02:19AM -0700, Babu Moger wrote:
>>>> This is an attempt to cleanup watchdog handlers. Right now,
>>>> kernel/watchdog.c implements both softlockup and hardlockup detectors.
>>>> Softlockup code is generic. Hardlockup code is arch specific. Some
>>>> architectures don't use hardlockup detectors. They use their own watchdog
>>>> detectors. To make both these combination work, we have numerous #ifdefs
>>>> in kernel/watchdog.c.
>>>>
>>>> We are trying here to make these handlers independent of each other.
>>>> Also provide an interface for architectures to implement their own
>>>> handlers. watchdog_nmi_enable and watchdog_nmi_disable will be defined
>>>> as weak such that architectures can override its definitions.
>>>>
>>>> Thanks to Don Zickus for his suggestions.
>>>> Here is the previous discussion
>>>> http://www.spinics.net/lists/sparclinux/msg16441.html
>>> Hi Babu,
>>>
>>> I finally got some cycles to poke at this today.  Good work.  A couple of
>>> suggestions.  For bisectability, I am thinking patch2 should be first and
>>> patch1 and patch3 should be combined.  Also watchdog_hld.c is going to need
>>> up top:
>>>
>>> #define pr_fmt(fmt) "NMI watchdog: " fmt
>>>
>>> otherwise the error messages miss the header.
>>>
>>> Though I don't think watchdog.c and watchdog_hld.c should have the same
>>> header.  A good solution isn't coming to me right now.  I will try to run
>>> some tests on this tomorrow.
>> Don, Thanks for the feedback. Let me know if you run into problems with your
>> tests.
> Hi Babu,
>
> My tests passed.  I just have to tweak the expected output lines as they
> constantly change. :-(
>
> I am going to play with different config options to see if things break from
> a compile perspective.

Don, Great. Thanks for the update.  I had couple of compilation issues 
with different config options.

1. drivers/edac/edac_device.o:(.discard+0x0): multiple definition of 
`__pcpu_unique_hrtimer_interrupts'
     drivers/edac/edac_mc.o:(.discard+0x0): first defined here

This was a problem with uni processor config.  Thinking of moving the 
definition of hrtimer_interrupts and is_hardlockup
into watchdog.c as softlockup code does most of the work here.

2. kernel/built-in.o: In function `watchdog_overflow_callback':
   >> watchdog_hld.c:(.text+0x56940): undefined reference to 
`sysctl_hardlockup_all_cpu_backtrace'

Moved this definition to nmi.h.
Will post the v2 version soon with all the comments included.

Thanks
Babu
>
>> I will start working on the comments.
> Great.
>
> Cheers,
> Don
>
>> Thanks
>> Babu
>>
>>> Cheers,
>>> Don
>>>
>>>> Babu Moger (4):
>>>>    watchdog: Remove hardlockup handler references
>>>>    watchdog: Move shared definitions to nmi.h
>>>>    watchdog: Move hardlockup detector in separate file
>>>>    sparc: Implement watchdog_nmi_enable and watchdog_nmi_disable
>>>>
>>>>   arch/sparc/kernel/nmi.c |   44 ++++++++-
>>>>   include/linux/nmi.h     |   19 ++++
>>>>   kernel/Makefile         |    1 +
>>>>   kernel/watchdog.c       |  276 ++---------------------------------------------
>>>>   kernel/watchdog_hld.c   |  238 ++++++++++++++++++++++++++++++++++++++++
>>>>   5 files changed, 312 insertions(+), 266 deletions(-)
>>>>   create mode 100644 kernel/watchdog_hld.c
>>>>

      reply	other threads:[~2016-11-01 15:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-26 16:02 [RFC PATCH 0/4] Clean up watchdog handlers Babu Moger
2016-10-26 16:02 ` [RFC PATCH 1/4] watchdog: Remove hardlockup handler references Babu Moger
2016-10-26 16:02 ` [RFC PATCH 2/4] watchdog: Move shared definitions to nmi.h Babu Moger
2016-10-26 16:02 ` [RFC PATCH 3/4] watchdog: Move hardlockup detector to separate file Babu Moger
2016-10-26 16:02 ` [RFC PATCH 4/4] sparc: Implement watchdog_nmi_enable and watchdog_nmi_disable Babu Moger
2016-10-27 14:13 ` [RFC PATCH 0/4] Clean up watchdog handlers Don Zickus
2016-10-31 21:00 ` Don Zickus
2016-10-31 21:26   ` Babu Moger
2016-10-31 21:30   ` Babu Moger
2016-11-01 13:20     ` Don Zickus
2016-11-01 14:58       ` Babu Moger [this message]

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=e85c6f30-13ab-e0db-efa2-ed1012b127e8@oracle.com \
    --to=babu.moger@oracle.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=atomlin@redhat.com \
    --cc=baiyaowei@cmss.chinamobile.com \
    --cc=bp@suse.de \
    --cc=bywxiaobai@163.com \
    --cc=cmetcalf@mellanox.com \
    --cc=davem@davemloft.net \
    --cc=dvyukov@google.com \
    --cc=dzickus@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=hidehiro.kawai.ez@hitachi.com \
    --cc=huawei.libin@huawei.com \
    --cc=jkosina@suse.cz \
    --cc=johunt@akamai.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=sam@ravnborg.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=tj@kernel.org \
    --cc=uobergfe@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).