From: compudj@krystal.dyndns.org (Mathieu Desnoyers)
Subject: [ltt-dev] lttv unable to execute textDump on MIPS multicore target
Date: Mon, 14 Feb 2011 22:32:06 -0500 [thread overview]
Message-ID: <BLU0-SMTP1135150466E864A29B314F96D30@phx.gbl> (raw)
In-Reply-To: <20110214195622.GA18825@Krystal>
Is the following patch less confusing ?
MIPS: octeon fix get_cycles
Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
checker, works fine on octeon by using the full 64-bits.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
---
arch/mips/Kconfig | 11 +++++++++--
arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
2 files changed, 39 insertions(+), 3 deletions(-)
Index: linux-2.6-lttng/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/mips/Kconfig
+++ linux-2.6-lttng/arch/mips/Kconfig
@@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
- select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
- select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
+ select HAVE_TRACE_CLOCK_32_TO_64
+ select HAVE_UNSYNCHRONIZED_TSC
+
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
#
# - Highmem only makes sense for the 32-bit kernel.
Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
===================================================================
--- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
+++ linux-2.6-lttng/arch/mips/include/asm/timex.h
@@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+typedef unsigned int cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
typedef unsigned int cycles_t;
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
@@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
return _tsc_is_sync;
}
#else
+typedef unsigned int cycles_t;
+
static inline cycles_t get_cycles(void)
{
return 0;
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2011-02-15 3:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-11 6:38 Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
2011-02-11 7:07 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP48F24DF0C4B7D6CF250B2696EF0@phx.gbl>
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 14:26 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP19709C87A494AE8507C77296EF0@phx.gbl>
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 14:39 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP86B1C8A867AFBF486A0DEB96D00@phx.gbl>
2011-02-14 17:48 ` David Daney
2011-02-14 19:43 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP381C9DC048B0AF55E0C00596D00@phx.gbl>
2011-02-14 19:50 ` David Daney
2011-02-14 19:56 ` Mathieu Desnoyers
[not found] ` <20110214195622.GA18825@Krystal>
2011-02-15 3:32 ` Mathieu Desnoyers [this message]
[not found] ` <BLU0-SMTP25F09381155A8E4CF8878B96D30@phx.gbl>
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 14:05 ` Mathieu Desnoyers
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:09 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP89B659A630D5B5735DB78696D30@phx.gbl>
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 17:23 ` David Daney
2011-02-16 18:40 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP53396496DB856B47F531CC96D20@phx.gbl>
2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
[not found] ` <AANLkTikbLY=HpDOUQYErk_CBgAd4NDJeL5otptRHT3Uj@mail.gmail.com>
[not found] ` <20110218145546.GA13022@Krystal>
2011-02-18 15:04 ` [ltt-dev] [RELEASE] LTTng 0.245 (mips fix) Mathieu Desnoyers
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=BLU0-SMTP1135150466E864A29B314F96D30@phx.gbl \
--to=compudj@krystal.dyndns.org \
/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