From: Cyril Bur <cyrilbur@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: mpe@ellerman.id.au, drjones@redhat.com, dzickus@redhat.com,
akpm@linux-foundation.org, mingo@kernel.org, uobergfe@redhat.com,
chaiw.fnst@cn.fujitsu.com, cl@linu.com, fabf@skynet.be,
atomlin@redhat.com, benzh@chromium.org,
Cyril Bur <cyrilbur@gmail.com>
Subject: [PATCH 1/2] Add another clock for use with the soft lockup watchdog.
Date: Mon, 22 Dec 2014 16:06:03 +1100 [thread overview]
Message-ID: <1419224764-11384-2-git-send-email-cyrilbur@gmail.com> (raw)
In-Reply-To: <1419224764-11384-1-git-send-email-cyrilbur@gmail.com>
This permits the use of arch specific clocks for which virtualised kernels can
use their notion of 'running' time, not the elpased wall time which will
include host execution time.
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
---
include/linux/sched.h | 1 +
kernel/sched/clock.c | 14 ++++++++++++++
kernel/watchdog.c | 2 +-
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 8db31ef..e400162 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2145,6 +2145,7 @@ extern unsigned long long notrace sched_clock(void);
*/
extern u64 cpu_clock(int cpu);
extern u64 local_clock(void);
+extern u64 running_clock(void);
extern u64 sched_clock_cpu(int cpu);
diff --git a/kernel/sched/clock.c b/kernel/sched/clock.c
index c27e4f8..c83af4f 100644
--- a/kernel/sched/clock.c
+++ b/kernel/sched/clock.c
@@ -74,6 +74,20 @@ unsigned long long __weak sched_clock(void)
}
EXPORT_SYMBOL_GPL(sched_clock);
+/*
+ * Running clock - returns the time that has elapsed while a guest has been
+ * running.
+ * On a guest this value should be sched_clock minus the time the
+ * guest was suspended by the hypervisor (for any reason).
+ * On bare metal this function should return the same as sched_clock.
+ * Architectures and sub-architectures can override this.
+ */
+unsigned long long __weak running_clock(void)
+{
+ return sched_clock();
+}
+EXPORT_SYMBOL_GPL(running_clock);
+
__read_mostly int sched_clock_running;
#ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 70bf118..3174bf8 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -154,7 +154,7 @@ static int get_softlockup_thresh(void)
*/
static unsigned long get_timestamp(void)
{
- return local_clock() >> 30LL; /* 2^30 ~= 10^9 */
+ return running_clock() >> 30LL; /* 2^30 ~= 10^9 */
}
static void set_sample_period(void)
--
1.9.1
next prev parent reply other threads:[~2014-12-22 5:06 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-22 5:06 [PATCH 0/2] Quieten softlockup detector on virtualised kernels Cyril Bur
2014-12-22 5:06 ` Cyril Bur [this message]
2015-01-05 22:09 ` [PATCH 1/2] Add another clock for use with the soft lockup watchdog Andrew Morton
2014-12-22 5:06 ` [PATCH 2/2] powerpc: add running_clock for powerpc to prevent spurious softlockup warnings Cyril Bur
2015-01-05 22:10 ` Andrew Morton
2015-01-06 2:44 ` Cyril Bur
2015-01-07 10:20 ` Martin Schwidefsky
2015-01-09 3:22 ` Cyril Bur
2015-01-05 16:50 ` [PATCH 0/2] Quieten softlockup detector on virtualised kernels Don Zickus
2015-01-05 23:53 ` Cyril Bur
2015-01-06 15:01 ` Don Zickus
2015-01-09 3:15 ` Cyril Bur
2015-01-09 14:56 ` Don Zickus
2015-01-05 22:09 ` Andrew Morton
2015-01-06 2:43 ` Cyril Bur
-- strict thread matches above, loose matches on Subject: below --
2014-12-01 2:38 Cyril Bur
2014-12-01 2:38 ` [PATCH 1/2] Add another clock for use with the soft lockup watchdog Cyril Bur
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=1419224764-11384-2-git-send-email-cyrilbur@gmail.com \
--to=cyrilbur@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=atomlin@redhat.com \
--cc=benzh@chromium.org \
--cc=chaiw.fnst@cn.fujitsu.com \
--cc=cl@linu.com \
--cc=drjones@redhat.com \
--cc=dzickus@redhat.com \
--cc=fabf@skynet.be \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=uobergfe@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).