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. > 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 > >> >