From: Frederic Weisbecker on
On Fri, Mar 05, 2010 at 04:29:05PM -0800, Tim Bird wrote:
> Add notrace attribute to sched_clock, and
> subsidiary clock routines, to avoid
> recursion within ftrace.
>
> Signed-off-by: Tim Bird <tim.bird(a)am.sony.com>
> ---
> arch/arm/mach-mmp/time.c | 2 +-
> arch/arm/mach-pxa/time.c | 2 +-
> arch/arm/mach-realview/core.c | 2 +-
> arch/arm/mach-sa1100/generic.c | 2 +-
> arch/arm/mach-versatile/core.c | 2 +-
> arch/arm/plat-omap/common.c | 14 +++++++-------
> arch/arm/plat-omap/io.c | 2 +-
> 7 files changed, 13 insertions(+), 13 deletions(-)
>
> --- a/arch/arm/mach-mmp/time.c
> +++ b/arch/arm/mach-mmp/time.c
> @@ -72,7 +72,7 @@ static inline uint32_t timer_read(void)
> return __raw_readl(TIMERS_VIRT_BASE + TMR_CVWR(0));
> }
>
> -unsigned long long sched_clock(void)
> +unsigned long long notrace sched_clock(void)
> {
> unsigned long long v = cnt32_to_63(timer_read());
> return (v * tcr2ns_scale) >> TCR2NS_SCALE_FACTOR;
> --- a/arch/arm/mach-pxa/time.c
> +++ b/arch/arm/mach-pxa/time.c
> @@ -51,7 +51,7 @@ static void __init set_oscr2ns_scale(uns
> oscr2ns_scale++;
> }



sched_clock() already has notrace in its prototype in
sched.h

> #ifdef CONFIG_ARCH_OMAP16XX
> -static cycle_t omap16xx_32k_read(struct clocksource *cs)
> +static cycle_t notrace omap16xx_32k_read(struct clocksource *cs)
> {
> return omap_readl(OMAP16XX_TIMER_32K_SYNCHRONIZED);
> }
> @@ -110,7 +110,7 @@ static cycle_t omap16xx_32k_read(struct
> #endif



But for the things it calls yeah it's required.

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/