Skip to content
  • Ulrich Obergfell's avatar
    kernel/watchdog.c: control hard lockup detection default · 6e7458a6
    Ulrich Obergfell authored
    
    
    In some cases we don't want hard lockup detection enabled by default.
    An example is when running as a guest.  Introduce
    
      watchdog_enable_hardlockup_detector(bool)
    
    allowing those cases to disable hard lockup detection.  This must be
    executed early by the boot processor from e.g.  smp_prepare_boot_cpu, in
    order to allow kernel command line arguments to override it, as well as
    to avoid hard lockup detection being enabled before we've had a chance
    to indicate that it's unwanted.  In summary,
    
      initial boot:					default=enabled
      smp_prepare_boot_cpu
        watchdog_enable_hardlockup_detector(false):	default=disabled
      cmdline has 'nmi_watchdog=1':			default=enabled
    
    The running kernel still has the ability to enable/disable at any time
    with /proc/sys/kernel/nmi_watchdog us usual.  However even when the
    default has been overridden /proc/sys/kernel/nmi_watchdog will initially
    show '1'.  To truly turn it on one must disable/enable it, i.e.
    
      echo 0 > /proc/sys/kernel/nmi_watchdog
      echo 1 > /proc/sys/kernel/nmi_watchdog
    
    This patch will be immediately useful for KVM with the next patch of this
    series.  Other hypervisor guest types may find it useful as well.
    
    [akpm@linux-foundation.org: fix build]
    [dzickus@redhat.com: fix compile issues on sparc]
    Signed-off-by: default avatarUlrich Obergfell <uobergfe@redhat.com>
    Signed-off-by: default avatarAndrew Jones <drjones@redhat.com>
    Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
    Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    6e7458a6