All of lore.kernel.org
 help / color / mirror / Atom feed
From: <quanyang.wang@windriver.com>
To: <linux-kernel@vger.kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Leo Yan <leo.yan@linaro.org>, Will Deacon <will@kernel.org>,
	<a.darwish@linutronix.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Paul Cercueil <paul@crapouillou.net>,
	Randy Dunlap <rdunlap@infradead.org>, <ben.dooks@codethink.co.uk>
Subject: [PATCH V3] time/sched_clock: mark sched_clock_read_begin/retry as notrace
Date: Tue, 29 Sep 2020 16:20:27 +0800	[thread overview]
Message-ID: <20200929082027.16787-1-quanyang.wang@windriver.com> (raw)

From: Quanyang Wang <quanyang.wang@windriver.com>

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>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
Changes:
V2: Add notrace to sched_clock_read_retry according to Peter's suggestion.
V3: Adjust the placement of notrace according to Peter's suggestion.

 kernel/time/sched_clock.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/time/sched_clock.c b/kernel/time/sched_clock.c
index 1c03eec6ca9b..f629e3f5afbe 100644
--- a/kernel/time/sched_clock.c
+++ b/kernel/time/sched_clock.c
@@ -68,13 +68,13 @@ static inline u64 notrace cyc_to_ns(u64 cyc, u32 mult, u32 shift)
 	return (cyc * mult) >> shift;
 }
 
-struct clock_read_data *sched_clock_read_begin(unsigned int *seq)
+notrace struct clock_read_data *sched_clock_read_begin(unsigned int *seq)
 {
 	*seq = raw_read_seqcount_latch(&cd.seq);
 	return cd.read_data + (*seq & 1);
 }
 
-int sched_clock_read_retry(unsigned int seq)
+notrace int sched_clock_read_retry(unsigned int seq)
 {
 	return read_seqcount_retry(&cd.seq, seq);
 }
-- 
2.17.1


             reply	other threads:[~2020-09-29  8:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-29  8:20 quanyang.wang [this message]
2020-10-26 10:40 ` [tip: timers/urgent] time/sched_clock: Mark sched_clock_read_begin/retry() as notrace tip-bot2 for Quanyang Wang

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=20200929082027.16787-1-quanyang.wang@windriver.com \
    --to=quanyang.wang@windriver.com \
    --cc=a.darwish@linutronix.de \
    --cc=ben.dooks@codethink.co.uk \
    --cc=daniel.lezcano@linaro.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paul@crapouillou.net \
    --cc=peterz@infradead.org \
    --cc=rdunlap@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    /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.