time/sched_clock: Mark sched_clock_read_begin/retry() as notrace
authorQuanyang Wang <quanyang.wang@windriver.com>
Tue, 29 Sep 2020 08:20:27 +0000 (16:20 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 26 Oct 2020 10:34:31 +0000 (11:34 +0100)
commit4cd2bb12981165f865d2b8ed92b446b52310ef74
tree08fb9d6532324c60665aa40e65806e32c343d8a2
parent3650b228f83adda7e5ee532e2b90429c03f7b9ec
time/sched_clock: Mark sched_clock_read_begin/retry() as notrace

Since sched_clock_read_begin() and sched_clock_read_retry() are called
by notrace function sched_clock(), they shouldn't be traceable either,
or else ftrace_graph_caller will run into a dead loop on the path
as below (arm for instance):

  ftrace_graph_caller()
    prepare_ftrace_return()
      function_graph_enter()
        ftrace_push_return_trace()
          trace_clock_local()
            sched_clock()
              sched_clock_read_begin/retry()

Fixes: 1b86abc1c645 ("sched_clock: Expose struct clock_read_data")
Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200929082027.16787-1-quanyang.wang@windriver.com
kernel/time/sched_clock.c