From: compudj@krystal.dyndns.org (Mathieu Desnoyers)
Subject: [ltt-dev] lttv unable to execute textDump on MIPS multicore target
Date: Tue, 15 Feb 2011 09:09:01 -0500 [thread overview]
Message-ID: <BLU0-SMTP12BCAE584E798D8AD9E85196D30@phx.gbl> (raw)
In-Reply-To: <AANLkTikSocOcevygjbFNjBhE92ObMSKnsR8FrYBkf+sg@mail.gmail.com>
* Naresh Bhat (nareshgbhat at gmail.com) wrote:
> Hi Mathieu/David,
>
> The compilation issue is solved and I am able to run the lttng on 2.6.32
> kernel with 0.188 patch set on Octeon board. I have fully applied your last
> patch and partially applied the earlier patch.
> *
> Thanks and Regards
Great! I'm glad it works for you. I'll prepare a LTTng release with
these fixes shortly.
Mathieu
> -Naresh Bhat*
>
> On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com> wrote:
>
> > Hi Mathieu/David,
> >
> > Thank you very much. The patch is applied without any issues. But facing
> > the linking errors. Is there any configuration missing in Kconfig ?
> >
> > *
> > Thanks and Regards
> > -Naresh Bhat*
> > *
> > Linking error log:*
> >
> >
> > ========================================================================================================
> > ..................
> > ......................
> > ..............................
> > AR arch/mips/lib/lib.a
> > LD vmlinux.o
> > MODPOST vmlinux.o
> > GEN .version
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > ltt/built-in.o: In function `ltt_trace_destroy':
> > (.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x164): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> > (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> > (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > ltt/built-in.o: In function `_ltt_specialized_trace':
> > (.text._ltt_specialized_trace+0x1cc): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > make: *** [.tmp_vmlinux1] Error 1
> > #
> >
> > ==============================================================================================
> > ===
> >
> >
> >
> > On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> > compudj at krystal.dyndns.org> wrote:
> >
> >> 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
> >>
> >
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2011-02-15 14:09 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
[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 [this message]
[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-SMTP12BCAE584E798D8AD9E85196D30@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