From: "Américo Wang" <xiyou.wangcong@gmail.com>
To: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-kernel@vger.kernel.org,
linux-mips <linux-mips@linux-mips.org>,
Ralf Baechle <ralf@linux-mips.org>,
Thomas Gleixner <tglx@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>, Ingo Molnar <mingo@elte.hu>,
Manuel Lauss <manuel.lauss@googlemail.com>,
Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Subject: Re: [PATCH 1/2] tracing: convert trace_clock_local() as weak function
Date: Fri, 16 Oct 2009 19:52:14 +0800 [thread overview]
Message-ID: <20091016115214.GA3159@hack> (raw)
In-Reply-To: <4205779ae74d7c4144ee6cbf4e3f15f833646356.1255692619.git.wuzhangjin@gmail.com>
On Fri, Oct 16, 2009 at 07:38:24PM +0800, Wu Zhangjin wrote:
>trace_clock_local() is based on the arch-specific sched_clock(), in X86,
>it is tsc(64bit) based, which can give very high precision(about 1ns
>with 1GHz). but in MIPS, the sched_clock() is jiffies based, which can
>give only 10ms precison with 1000 HZ. which is not enough for tracing,
>especially for Real Time system.
>
>so, we need to implement a MIPS specific sched_clock() to get higher
>precision. There is a tsc like clock counter register in MIPS, whose
>frequency is half of the processor, so, if the cpu frequency is 800MHz,
>the time precision reaches 2.5ns, which is very good for tracing, even
>for Real Time system.
>
>but 'Cause it is only 32bit long, which will rollover quickly, so, such
>a sched_clock() will bring with extra load, which is not good for the
>whole system. so, we only need to implement a arch-specific
>trace_clock_local() for tracing. as a preparation, we convert it as a
>weak function.
>
>The MIPS specific trace_clock_local() is coming in the next patch.
>
>Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
>---
> kernel/trace/trace_clock.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c
>index 20c5f92..a04dc18 100644
>--- a/kernel/trace/trace_clock.c
>+++ b/kernel/trace/trace_clock.c
>@@ -26,7 +26,7 @@
> * Useful for tracing that does not cross to other CPUs nor
> * does it go through idle events.
> */
>-u64 notrace trace_clock_local(void)
>+u64 __attribute__((weak)) notrace trace_clock_local(void)
We have __weak.
> {
> unsigned long flags;
> u64 clock;
>--
>1.6.2.1
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
--
Live like a child, think like the god.
next prev parent reply other threads:[~2009-10-16 11:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-16 11:38 [PATCH 1/2] tracing: convert trace_clock_local() as weak function Wu Zhangjin
2009-10-16 11:38 ` [PATCH 2/2] tracing: add high precision version of trace_clock_local() for MIPS Wu Zhangjin
2009-10-17 8:23 ` Wu Zhangjin
2009-10-16 11:52 ` Américo Wang [this message]
2009-10-16 11:59 ` [PATCH 1/2] tracing: convert trace_clock_local() as weak function Wu Zhangjin
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=20091016115214.GA3159@hack \
--to=xiyou.wangcong@gmail.com \
--cc=anemo@mba.ocn.ne.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=manuel.lauss@googlemail.com \
--cc=mingo@elte.hu \
--cc=ralf@linux-mips.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=wuzhangjin@gmail.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 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.