浏览代码

kvm: ensure hard lockup detection is disabled by default

Use watchdog_enable_hardlockup_detector() to set hard lockup detection's
default value to false.  It's risky to run this detection in a guest, as
false positives are easy to trigger, especially if the host is
overcommitted.

Signed-off-by: Ulrich Obergfell <uobergfe@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ulrich Obergfell 10 年之前
父节点
当前提交
9919e39a17
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      arch/x86/kernel/kvm.c

+ 8 - 0
arch/x86/kernel/kvm.c

@@ -35,6 +35,7 @@
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/kprobes.h>
 #include <linux/kprobes.h>
 #include <linux/debugfs.h>
 #include <linux/debugfs.h>
+#include <linux/nmi.h>
 #include <asm/timer.h>
 #include <asm/timer.h>
 #include <asm/cpu.h>
 #include <asm/cpu.h>
 #include <asm/traps.h>
 #include <asm/traps.h>
@@ -499,6 +500,13 @@ void __init kvm_guest_init(void)
 #else
 #else
 	kvm_guest_cpu_init();
 	kvm_guest_cpu_init();
 #endif
 #endif
+
+	/*
+	 * Hard lockup detection is enabled by default. Disable it, as guests
+	 * can get false positives too easily, for example if the host is
+	 * overcommitted.
+	 */
+	watchdog_enable_hardlockup_detector(false);
 }
 }
 
 
 static noinline uint32_t __kvm_cpuid_base(void)
 static noinline uint32_t __kvm_cpuid_base(void)