Re: [PATCH] kernel/watchdog: fix Kconfig constraints for perf hardlockup watchdog

From: Don Zickus
Date: Thu Aug 10 2017 - 09:53:54 EST


On Thu, Aug 10, 2017 at 09:44:52PM +1000, Nicholas Piggin wrote:
> Patch 05a4a9527931 ("kernel/watchdog: split up config options") lost
> the perf-based hardlockup detector's dependency on PERF_EVENTS, which
> can result in broken builds with some powerpc configurations.
>
> Restore the dependency. Add it in for x86 too, despite x86 always
> selecting PERF_EVENTS it seems reasonable to make the dependency
> explicit.

This is because ppc has the unusual configuration of supporting HARDLOCKUP
through perf or directly through the arch, right? The Kconfigs assumed an
arch went one way or the other.

I think this is a good workaround for now.

Acked-by: Don Zickus <dzickus@xxxxxxxxxx>

>
> Fixes: 05a4a9527931 ("kernel/watchdog: split up config options")
> Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> ---
>
> arch/powerpc/Kconfig | 2 +-
> arch/x86/Kconfig | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 36f858c37ca7..81b0031f909f 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -199,7 +199,7 @@ config PPC
> select HAVE_OPTPROBES if PPC64
> select HAVE_PERF_EVENTS
> select HAVE_PERF_EVENTS_NMI if PPC64
> - select HAVE_HARDLOCKUP_DETECTOR_PERF if HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
> + select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
> select HAVE_PERF_REGS
> select HAVE_PERF_USER_STACK_DUMP
> select HAVE_RCU_TABLE_FREE if SMP
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 781521b7cf9e..29a1bf85e507 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -163,7 +163,7 @@ config X86
> select HAVE_PCSPKR_PLATFORM
> select HAVE_PERF_EVENTS
> select HAVE_PERF_EVENTS_NMI
> - select HAVE_HARDLOCKUP_DETECTOR_PERF if HAVE_PERF_EVENTS_NMI
> + select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
> select HAVE_PERF_REGS
> select HAVE_PERF_USER_STACK_DUMP
> select HAVE_REGS_AND_STACK_ACCESS_API
> --
> 2.13.3
>