On Wed, 27 Feb 2019, Ricardo Neri wrote:
> +                     When hpet is specified, the NMI watchdog will be driven
> +                     by an HPET timer, if available in the system. Otherwise,
> +                     the perf-based implementation will be used. Specifying
> +                     hpet implies that nmi_watchdog is on.

How so?

> +static int __init hardlockup_detector_hpet_setup(char *str)
> +{
> +     if (strstr(str, "hpet"))
> +             hardlockup_use_hpet = true;

strstr()? Not really.

> +
> +     return 0;
> +}
> +__setup("nmi_watchdog=", hardlockup_detector_hpet_setup);
> +
>  /**
>   * hardlockup_detector_hpet_init() - Initialize the hardlockup detector
>   *
> @@ -405,6 +422,9 @@ int __init hardlockup_detector_hpet_init(void)
>  {
>       int ret;
>  
> +     if (!hardlockup_use_hpet)
> +             return -ENODEV;

This should have been there in the patch which introduces
hardlockup_detector_hpet_init(). And this patch merily adds the command
line magic which sets that flag.

> +
>       if (!is_hpet_enabled())
>               return -ENODEV;
>  
> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index 367aa81294ef..28cad7310378 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -78,7 +78,7 @@ static int __init hardlockup_panic_setup(char *str)
>               nmi_watchdog_user_enabled = 0;
>       else if (!strncmp(str, "1", 1))
>               nmi_watchdog_user_enabled = 1;
> -     return 1;
> +     return 0;

Why?

Thanks,

        tglx


Reply via email to