diff options
Diffstat (limited to 'nowatchdog-on-virt.patch')
-rw-r--r-- | nowatchdog-on-virt.patch | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/nowatchdog-on-virt.patch b/nowatchdog-on-virt.patch deleted file mode 100644 index d8cf87953..000000000 --- a/nowatchdog-on-virt.patch +++ /dev/null @@ -1,79 +0,0 @@ -Bugzilla: 971139 -Upstream-status: Fedora mustard for now - -From 17109685bfce322c73a816e097b137458fbd55ae Mon Sep 17 00:00:00 2001 -From: Dave Jones <davej@redhat.com> -Date: Tue, 24 Jun 2014 08:43:34 -0400 -Subject: [PATCH] Disable watchdog on virtual machines. - -For various reasons, VMs seem to trigger the soft lockup detector a lot, -in cases where it's just not possible for a lockup to occur. -(Example: https://bugzilla.redhat.com/show_bug.cgi?id=971139) - -In some cases it seems that the host just never scheduled the app running -the VM for a very long time (Could be the host was under heavy load). - -Just disable the detector on VMs. - -Signed-off-by: Dave Jones <davej@redhat.com> ---- - kernel/watchdog.c | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -diff --git a/kernel/watchdog.c b/kernel/watchdog.c -index c3319bd1b040..0e3687675aaa 100644 ---- a/kernel/watchdog.c -+++ b/kernel/watchdog.c -@@ -24,6 +24,7 @@ - #include <linux/sysctl.h> - #include <linux/smpboot.h> - #include <linux/sched/rt.h> -+#include <linux/dmi.h> - - #include <asm/irq_regs.h> - #include <linux/kvm_para.h> -@@ -112,6 +113,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str) - __setup("softlockup_all_cpu_backtrace=", softlockup_all_cpu_backtrace_setup); - #endif - -+static int disable_watchdog(const struct dmi_system_id *d) -+{ -+ printk(KERN_INFO "watchdog: disabled (inside virtual machine)\n"); -+ watchdog_user_enabled = 0; -+ return 0; -+} -+ -+static const struct dmi_system_id watchdog_virt_dmi_table[] = { -+ { -+ .callback = disable_watchdog, -+ .ident = "VMware", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "VMware, Inc."), -+ }, -+ }, -+ { -+ .callback = disable_watchdog, -+ .ident = "Bochs", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Bochs"), -+ }, -+ }, -+ {} -+}; -+ -+ - /* - * Hard-lockup warnings should be triggered after just a few seconds. Soft- - * lockups can have false positives under extreme conditions. So we generally -@@ -641,6 +668,8 @@ out: - - void __init lockup_detector_init(void) - { -+ dmi_check_system(watchdog_virt_dmi_table); -+ - set_sample_period(); - - if (watchdog_user_enabled) --- -1.9.3 - |