From: tip-bot for Don Zickus <dzickus@redhat.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@redhat.com,
eparis@redhat.com, peterz@infradead.org, randy.dunlap@oracle.com,
gorcunov@gmail.com, fweisbec@gmail.com, tglx@linutronix.de,
dzickus@redhat.com, mingo@elte.hu
Subject: [tip:perf/nmi] lockup_detector: Separate touch_nmi_watchdog code path from touch_watchdog
Date: Thu, 13 May 2010 06:53:40 GMT [thread overview]
Message-ID: <tip-d7c547335fa6b0090fa09c46ea0e965ac273a27e@git.kernel.org> (raw)
In-Reply-To: <1273266711-18706-9-git-send-email-dzickus@redhat.com>
Commit-ID: d7c547335fa6b0090fa09c46ea0e965ac273a27e
Gitweb: http://git.kernel.org/tip/d7c547335fa6b0090fa09c46ea0e965ac273a27e
Author: Don Zickus <dzickus@redhat.com>
AuthorDate: Fri, 7 May 2010 17:11:51 -0400
Committer: Frederic Weisbecker <fweisbec@gmail.com>
CommitDate: Wed, 12 May 2010 23:55:55 +0200
lockup_detector: Separate touch_nmi_watchdog code path from touch_watchdog
When I combined the nmi_watchdog (hardlockup) and softlockup code, I
also combined the paths the touch_watchdog and touch_nmi_watchdog took.
This may not be the best idea as pointed out by Frederic W., that the
touch_watchdog case probably should not reset the hardlockup count.
Therefore the patch below falls back to the previous idea of keeping
the touch_nmi_watchdog a superset of the touch_watchdog case.
Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Eric Paris <eparis@redhat.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
LKML-Reference: <1273266711-18706-9-git-send-email-dzickus@redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
kernel/watchdog.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index f1541b7..57b8e2c 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -31,6 +31,7 @@ int watchdog_enabled;
int __read_mostly softlockup_thresh = 60;
static DEFINE_PER_CPU(unsigned long, watchdog_touch_ts);
+static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
static DEFINE_PER_CPU(struct task_struct *, softlockup_watchdog);
static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer);
static DEFINE_PER_CPU(bool, softlockup_touch_sync);
@@ -139,6 +140,7 @@ void touch_all_softlockup_watchdogs(void)
void touch_nmi_watchdog(void)
{
+ __get_cpu_var(watchdog_nmi_touch) = true;
touch_softlockup_watchdog();
}
EXPORT_SYMBOL(touch_nmi_watchdog);
@@ -201,10 +203,9 @@ void watchdog_overflow_callback(struct perf_event *event, int nmi,
struct pt_regs *regs)
{
int this_cpu = smp_processor_id();
- unsigned long touch_ts = per_cpu(watchdog_touch_ts, this_cpu);
- if (touch_ts == 0) {
- __touch_watchdog();
+ if (__get_cpu_var(watchdog_nmi_touch) == true) {
+ __get_cpu_var(watchdog_nmi_touch) = false;
return;
}
prev parent reply other threads:[~2010-05-13 6:54 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-07 21:11 [PATCH 0/8] lockup detector changes Don Zickus
2010-05-07 21:11 ` [PATCH 1/8] [watchdog] combine nmi_watchdog and softlockup Don Zickus
2010-05-12 19:55 ` Frederic Weisbecker
2010-05-13 6:51 ` [tip:perf/nmi] lockup_detector: Combine nmi_watchdog and softlockup detector tip-bot for Don Zickus
2010-05-07 21:11 ` [PATCH 2/8] [nmi watchdog] touch_softlockup cleanups and softlockup_tick removal Don Zickus
2010-05-12 20:06 ` Frederic Weisbecker
2010-05-12 20:26 ` Don Zickus
2010-05-12 20:28 ` Frederic Weisbecker
2010-05-12 20:56 ` Don Zickus
2010-05-12 21:00 ` Frederic Weisbecker
2010-05-12 21:38 ` Cyrill Gorcunov
2010-05-12 21:50 ` Don Zickus
2010-05-13 15:53 ` Cyrill Gorcunov
2010-05-13 16:04 ` Don Zickus
2010-05-13 6:52 ` [tip:perf/nmi] lockup_detector: Touch_softlockup " tip-bot for Don Zickus
2010-05-07 21:11 ` [PATCH 3/8] [watchdog] remove old softlockup code Don Zickus
2010-05-13 6:52 ` [tip:perf/nmi] lockup_detector: Remove " tip-bot for Don Zickus
2010-05-07 21:11 ` [PATCH 4/8] [watchdog] remove nmi_watchdog.c file Don Zickus
2010-05-13 6:52 ` [tip:perf/nmi] lockup_detector: Remove " tip-bot for Don Zickus
2010-05-07 21:11 ` [PATCH 5/8] [x86] watchdog: move trigger_all_cpu_backtrace to its own die_notifier Don Zickus
2010-05-13 6:53 ` [tip:perf/nmi] x86: Move " tip-bot for Don Zickus
2010-05-07 21:11 ` [PATCH 6/8] [x86] watchdog: cleanup hw_nmi.c cruft Don Zickus
2010-05-13 6:53 ` [tip:perf/nmi] x86: Cleanup " tip-bot for Don Zickus
2010-05-07 21:11 ` [PATCH 7/8] [watchdog] resolve softlockup.c conflicts Don Zickus
2010-05-07 21:11 ` [PATCH 8/8] [watchdog] separate touch_nmi_watchdog code path from touch_watchdog Don Zickus
2010-05-13 6:53 ` tip-bot for Don Zickus [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-d7c547335fa6b0090fa09c46ea0e965ac273a27e@git.kernel.org \
--to=dzickus@redhat.com \
--cc=eparis@redhat.com \
--cc=fweisbec@gmail.com \
--cc=gorcunov@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=randy.dunlap@oracle.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.