[PATCH] powerpc/time: Fix tracing in time.c

Naveen N . Rao naveen.n.rao at linux.vnet.ibm.com
Tue Jun 20 17:02:00 AEST 2017


On 2017/06/20 11:50AM, Santosh Sivaraj wrote:
> Since trace_clock is in a different file and already marked with notrace,
> enable tracing in time.c by removing it from the disabled list in Makefile.
> Also annotate clocksource read functions and sched_clock with notrace.
> 
> Testing: Timer and ftrace selftests run with different trace clocks.
> 
> CC: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
> Signed-off-by: Santosh Sivaraj <santosh at fossix.org>

Thanks for doing this! Apart from the minor nit below:
Acked-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>

> ---
>  arch/powerpc/kernel/Makefile | 2 --
>  arch/powerpc/kernel/time.c   | 6 +++---
>  2 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
> index e132902..0845eeb 100644
> --- a/arch/powerpc/kernel/Makefile
> +++ b/arch/powerpc/kernel/Makefile
> @@ -25,8 +25,6 @@ CFLAGS_REMOVE_cputable.o = -mno-sched-epilog $(CC_FLAGS_FTRACE)
>  CFLAGS_REMOVE_prom_init.o = -mno-sched-epilog $(CC_FLAGS_FTRACE)
>  CFLAGS_REMOVE_btext.o = -mno-sched-epilog $(CC_FLAGS_FTRACE)
>  CFLAGS_REMOVE_prom.o = -mno-sched-epilog $(CC_FLAGS_FTRACE)
> -# timers used by tracing
> -CFLAGS_REMOVE_time.o = -mno-sched-epilog $(CC_FLAGS_FTRACE)
>  endif
> 
>  obj-y				:= cputable.o ptrace.o syscalls.o \
> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
> index 2b33cfa..6d10c5f 100644
> --- a/arch/powerpc/kernel/time.c
> +++ b/arch/powerpc/kernel/time.c
> @@ -675,7 +675,7 @@ EXPORT_SYMBOL_GPL(tb_to_ns);
>   * the high 64 bits of a * b, i.e. (a * b) >> 64, where a and b
>   * are 64-bit unsigned numbers.
>   */
> -unsigned long long sched_clock(void)
> +unsigned long long notrace sched_clock(void)

For the sake of consistency, it's probably better to add the notrace 
annotation before the return values, though I see that the prototype in 
include/sched.h has used this order.

- Naveen

>  {
>  	if (__USE_RTC())
>  		return get_rtc();
> @@ -823,12 +823,12 @@ void read_persistent_clock(struct timespec *ts)
>  }
> 
>  /* clocksource code */
> -static u64 rtc_read(struct clocksource *cs)
> +static notrace u64 rtc_read(struct clocksource *cs)
>  {
>  	return (u64)get_rtc();
>  }
> 
> -static u64 timebase_read(struct clocksource *cs)
> +static notrace u64 timebase_read(struct clocksource *cs)
>  {
>  	return (u64)get_tb();
>  }
> -- 
> 2.9.4
> 



More information about the Linuxppc-dev mailing list