Subject: Re: linux-next: build failure after merge of the final tree

From: Frederic Weisbecker <[email-masked]>
Date: Sat, 15 May 2010 22:28:32 +0200

On Sat, May 15, 2010 at 09:37:32AM +0200, Ingo Molnar wrote:
> 
> * Don Zickus <[email-masked]> wrote:
> 
> > Sorry for the mess.  I think the following patch 
> > cleans it up.  The last piece deals with the sparc 
> > mess, the other two pieces should deal with the x86 
> > fallout.
> 
> This patch breaks x86:
> 
> arch/x86/built-in.o: In function `show_stack_log_lvl':
> (.text+0xc2c0): undefined reference to `touch_nmi_watchdog'
> arch/x86/built-in.o: In function `print_trace_address':
> dumpstack.c:(.text+0xd893): undefined reference to `touch_nmi_watchdog'
> arch/x86/built-in.o: In function `mce_timed_out':
> mce.c:(.text+0x20008): undefined reference to `touch_nmi_watchdog'
> arch/x86/built-in.o: In function `enable_lapic_nmi_watchdog':
> (.text+0x261f2): undefined reference to `touch_nmi_watchdog'
> 
> CONFIG_CLOCKSOURCE_WATCHDOG=y
> CONFIG_PERF_EVENTS_NMI=y
> CONFIG_IPMI_WATCHDOG=m
> CONFIG_WATCHDOG=y
> CONFIG_WATCHDOG_NOWAYOUT=y
> # CONFIG_SOFT_WATCHDOG is not set
> CONFIG_HP_WATCHDOG=y
> CONFIG_SBC_EPX_C3_WATCHDOG=m
> # CONFIG_PCIPCWATCHDOG is not set
> # CONFIG_USBPCWATCHDOG is not set
> CONFIG_HAVE_FTRACE_NMI_ENTER=y
> CONFIG_FTRACE_NMI_ENTER=y
> 
> I'd _strongly_ suggest to simplify the code. There's 
> a few things that could be done to that end:
> 
> - just have a single watchdog option and dont split 
>   the soft-dog from the hard-dog.

This is what we have, ie: CONFIG_LOCKUP_DETECTOR

But we need to keep the softlockup detection out of
the perf dependency. This is what we had previously.
And more especially softlockup detection doesn't need
perf.

> - provide a smooth pathway for architectures that 
>   have an NMI watchdog right now. Dont overlap their 
>   symbols for example.

Agreed.

> ... and similar measures.

And I add: remove the old nmi watchdog code from x86, for good.

I'm working on it.