Skip to content

Commit 5d6168f

Browse files
Julien Thierrydlezcano
authored andcommitted
clocksource/drivers/arm_arch_timer: Don't trace count reader functions
With v5.2-rc1, The ftrace functions_graph tracer locks up whenever it is enabled on arm64. Since commit 0ea4153 ("clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters") a function pointer is consistently used to read the counter instead of potentially referencing an inlinable function. The graph tracers relies on accessing the timer counters to compute the time spent in functions which causes the lockup when attempting to trace these code paths. Annotate the arm arch timer counter accessors as notrace. Fixes: 0ea4153 ("clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters") Signed-off-by: Julien Thierry <[email protected]> Cc: Marc Zyngier <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Daniel Lezcano <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Steven Rostedt <[email protected]> Acked-by: Marc Zyngier <[email protected]> Signed-off-by: Daniel Lezcano <[email protected]>
1 parent cda03a9 commit 5d6168f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

drivers/clocksource/arm_arch_timer.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,22 +149,22 @@ u32 arch_timer_reg_read(int access, enum arch_timer_reg reg,
149149
return val;
150150
}
151151

152-
static u64 arch_counter_get_cntpct_stable(void)
152+
static notrace u64 arch_counter_get_cntpct_stable(void)
153153
{
154154
return __arch_counter_get_cntpct_stable();
155155
}
156156

157-
static u64 arch_counter_get_cntpct(void)
157+
static notrace u64 arch_counter_get_cntpct(void)
158158
{
159159
return __arch_counter_get_cntpct();
160160
}
161161

162-
static u64 arch_counter_get_cntvct_stable(void)
162+
static notrace u64 arch_counter_get_cntvct_stable(void)
163163
{
164164
return __arch_counter_get_cntvct_stable();
165165
}
166166

167-
static u64 arch_counter_get_cntvct(void)
167+
static notrace u64 arch_counter_get_cntvct(void)
168168
{
169169
return __arch_counter_get_cntvct();
170170
}

0 commit comments

Comments
 (0)