From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933057Ab1KDQ4g (ORCPT ); Fri, 4 Nov 2011 12:56:36 -0400 Received: from oz.csail.mit.edu ([128.30.30.239]:35670 "EHLO mail.mgebm.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932807Ab1KDQzR (ORCPT ); Fri, 4 Nov 2011 12:55:17 -0400 From: Eric B Munson To: avi@redhat.com Cc: Eric B Munson , mingo@redhat.com, hpa@zytor.com, arnd@arndb.de, ryanh@linux.vnet.ibm.com, aliguori@us.ibm.com, mtosatti@redhat.com, jeremy.fitzhardinge@citrix.com, kvm@vger.kernel.org, linux-arch@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/6 V3] Add check for suspended vm in softlockup detector Date: Fri, 4 Nov 2011 12:55:11 -0400 Message-Id: <1320425712-5312-6-git-send-email-emunson@mgebm.net> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1320425712-5312-1-git-send-email-emunson@mgebm.net> References: <1320425712-5312-1-git-send-email-emunson@mgebm.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A suspended VM can cause spurious soft lockup warnings. To avoid these, the watchdog now checks if the kernel knows it was stopped by the host and skips the warning if so. Signed-off-by: Eric B Munson Cc: mingo@redhat.com Cc: hpa@zytor.com Cc: arnd@arndb.de Cc: ryanh@linux.vnet.ibm.com Cc: aliguori@us.ibm.com Cc: mtosatti@redhat.com Cc: jeremy.fitzhardinge@citrix.com Cc: kvm@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org --- kernel/watchdog.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 1d7bca7..b5a1c08 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -25,6 +25,7 @@ #include #include +#include #include int watchdog_enabled = 1; @@ -292,6 +293,14 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) */ duration = is_softlockup(touch_ts); if (unlikely(duration)) { + /* + * If a virtual machine is stopped by the host it can look to + * the watchdog like a soft lockup, check to see if the host + * stopped the vm before we issue the warning + */ + if (kvm_check_and_clear_guest_paused(smp_processor_id())) + return HRTIMER_RESTART; + /* only warn once */ if (__this_cpu_read(soft_watchdog_warn) == true) return HRTIMER_RESTART; -- 1.7.5.4