From: Kevin Hilman <khilman@deeprootsystems.com>
To: Tim Bird <tim.bird@am.sony.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: How to use a different sched_clock() for ftrace on omap?
Date: Thu, 07 May 2009 07:08:58 -0700 [thread overview]
Message-ID: <8763gdt37p.fsf@deeprootsystems.com> (raw)
In-Reply-To: <cyZbZ-7Eg-9@gated-at.bofh.it> (Tim Bird's message of "Thu\, 07 May 2009 02\:00\:11 +0200")
Tim Bird <tim.bird@am.sony.com> writes:
> Hi all,
>
> I've worked up a replacement sched_clock for ftrace on my omap platform.
> The current sched_clock, based on the 32K timer, has low resolution and
> doesn't provide very useful results.
>
> Unfortunately, I'm not sure the best way to use my special one, in place
> of a common one in arch/arm/plat-omap/common.c
Hi Tim,
If you're comiling mach-omap1/time.c than you've enabled the
higher-resolution MPU timer with CONFIG_OMAP_MPU_TIMER, right?
In that case, you could make the one in plat-omap/common.c inside and
#ifndef CONFIG_OMAP_MPU_TIMER and put the new one in the MPU_TIMER
code.
To be complete, you should add the same to the mach-omap2/timer-gp.c
as well.
Kevin
> Here's a patch:
>
> ---
> arch/arm/mach-omap1/time.c | 9 +++++++++
> arch/arm/plat-omap/common.c | 2 +-
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> --- a/arch/arm/mach-omap1/time.c
> +++ b/arch/arm/mach-omap1/time.c
> @@ -212,6 +212,15 @@ static struct clocksource clocksource_mp
> .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> };
>
> +unsigned long long notrace sched_clock(void)
> +{
> + unsigned long long ret;
> +
> + ret = (unsigned long long) ~omap_mpu_timer_read(1);
> + ret = (ret * clocksource_mpu.mult_orig) >>clocksource_mpu.shift;
> + return ret;
> +}
> +
> static void __init omap_init_clocksource(unsigned long rate)
> {
> static char err[] __initdata = KERN_ERR
> --- a/arch/arm/plat-omap/common.c
> +++ b/arch/arm/plat-omap/common.c
> @@ -203,7 +203,7 @@ static struct clocksource clocksource_32
> * Returns current time from boot in nsecs. It's OK for this to wrap
> * around for now, as it's just a relative time stamp.
> */
> -unsigned long long notrace sched_clock(void)
> +__attribute__((weak)) unsigned long long notrace sched_clock_old(void)
> {
> unsigned long long ret;
>
>
> Obviously, renaming the common sched_clock() to sched_clock_old() is
> a hack.
>
> I thought the __attribute__ ((weak)) would be enough to have the
> sched_clock() in common.c get out of the way, and allow my board-specific
> sched_clock() to be used. But that didn't work. What is the recommended
> way to specify a board-specific function at compile time?
>
> Thanks,
> -- Tim
>
> =============================
> Tim Bird
> Architecture Group Chair, CE Linux Forum
> Senior Staff Engineer, Sony Corporation of America
> =============================
>
> --
> 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/
next parent reply other threads:[~2009-05-07 14:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cyZbZ-7Eg-9@gated-at.bofh.it>
2009-05-07 14:08 ` Kevin Hilman [this message]
2009-05-07 17:19 ` How to use a different sched_clock() for ftrace on omap? Tim Bird
2009-05-07 17:34 ` Kevin Hilman
2009-05-06 23:54 Tim Bird
2009-05-07 0:34 ` Ryan Mallon
2009-05-07 8:51 ` Ingo Molnar
2009-05-07 13:56 ` Steven Rostedt
2009-05-07 13:59 ` Ingo Molnar
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=8763gdt37p.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tim.bird@am.sony.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.