Re: [PATCH v2] tracing: Remove definition of trace_*_rcuidle()
From: Geert Uytterhoeven
Date: Tue Dec 03 2024 - 16:08:38 EST
Hi Steven,
On Fri, Oct 4, 2024 at 12:15 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> The trace_*_rcuidle() variant of a tracepoint was to handle places where a
> tracepoint was located but RCU was not "watching". All those locations
> have been removed, and RCU should be watching where all tracepoints are
> located. We can now remove the trace_*_rcuidle() variant.
>
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
> ---
> Changes since v1: https://lore.kernel.org/20241003173051.6b178bb3@xxxxxxxxxxxxxxxxxx
>
> - Silly me didn't remove the rcuidle logic from __DO_TRACE()
Thanks for your patch, which is now commit 48bcda6848232667
("tracing: Remove definition of trace_*_rcuidle()") in v6.13-rc1.
This is causing warnings during s2ram on various ARM platforms.
E.g. on Koelsch:
Freezing user space processes
Freezing user space processes completed (elapsed 0.001 seconds)
OOM killer disabled.
Freezing remaining freezable tasks
-Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
-PM: suspend devices took 0.110 seconds
+Freezing remaining freezable tasks completed (elapsed 0.003 seconds)
+------------[ cut here ]------------
+------------[ cut here ]------------
+WARNING: CPU: 0 PID: 0 at include/trace/events/preemptirq.h:36
__irq_svc+0x48/0xac
+WARNING: CPU: 1 PID: 0 at include/trace/events/preemptirq.h:40
trace_hardirqs_on+0x40/0x7c
+RCU not watching for tracepoint
+RCU not watching for tracepoint
+Modules linked in:
+Modules linked in:
+CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Tainted: G W N
6.12.0-rc2-koelsch-00005-g48bcda684823 #2094
+
+Tainted: [W]=WARN, [N]=TEST
+Hardware name: Generic R-Car Gen2 (Flattened Device Tree)
+Call trace:
+ unwind_backtrace from show_stack+0x10/0x14
+ show_stack from dump_stack_lvl+0x78/0xa8
+ dump_stack_lvl from __warn+0x80/0x198
+ __warn from warn_slowpath_fmt+0xbc/0x120
+ warn_slowpath_fmt from __irq_svc+0x48/0xac
+Exception stack(0xc1201f20 to 0xc1201f68)
+1f20: c026570c ebf8fe7c 00000000 00000000 c120c0c0 c026570c c120905c c1209020
+1f40: c120c0c0 c106d640 c120905c c10438f8 fffffff8 c1201f70 c0a1c4fc c0a1c510
+1f60: 60000013 ffffffff
+ __irq_svc from cpu_idle_poll+0xd0/0x130
+ cpu_idle_poll from do_idle+0xc0/0x2a0
+ do_idle from cpu_startup_entry+0x28/0x2c
+ cpu_startup_entry from rest_init+0x150/0x178
+ rest_init from start_kernel+0x57c/0x610
+irq event stamp: 24900
+CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Tainted: G W N
6.12.0-rc2-koelsch-00005-g48bcda684823 #2094
+hardirqs last enabled at (24899): [<c0a1c658>] default_idle_call+0xe8/0x104
+Tainted: [W]=WARN, [N]=TEST
+hardirqs last disabled at (24900): [<c0200b68>] __irq_svc+0x48/0xac
+Hardware name: Generic R-Car Gen2 (Flattened Device Tree)
+softirqs last enabled at (24832): [<c0226bd4>] handle_softirqs+0x170/0x3cc
+Call trace:
+softirqs last disabled at (24821): [<c0227400>] __irq_exit_rcu+0xf0/0x148
+ unwind_backtrace from show_stack+0x10/0x14
+---[ end trace 0000000000000000 ]---
+ show_stack from dump_stack_lvl+0x78/0xa8
+ dump_stack_lvl from __warn+0x80/0x198
+ __warn from warn_slowpath_fmt+0xbc/0x120
+ warn_slowpath_fmt from trace_hardirqs_on+0x40/0x7c
+ trace_hardirqs_on from __irq_svc+0x94/0xac
+Exception stack(0xf0861f48 to 0xf0861f90)
+1f40: c026570c ebfa1e7c 00000000 00000001 c2220000 c026570c
+1f60: c120905c c1209020 c2220000 c106d640 c120905c 00000000 fffffff8 f0861f98
+1f80: c0a1c4fc c0a1c554 20000113 ffffffff
+ __irq_svc from cpu_idle_poll+0x114/0x130
+ cpu_idle_poll from do_idle+0xc0/0x2a0
+ do_idle from cpu_startup_entry+0x28/0x2c
+ cpu_startup_entry from secondary_start_kernel+0xec/0x104
+ secondary_start_kernel from 0x40201334
+irq event stamp: 16791
+hardirqs last enabled at (16791): [<c0265764>] do_idle+0x118/0x2a0
+hardirqs last disabled at (16790): [<c02656d8>] do_idle+0x8c/0x2a0
+softirqs last enabled at (16782): [<c0226bd4>] handle_softirqs+0x170/0x3cc
+softirqs last disabled at (16765): [<c0227400>] __irq_exit_rcu+0xf0/0x148
+---[ end trace 0000000000000000 ]---
+PM: suspend devices took 0.430 seconds
Disabling non-boot CPUs ...
Enabling non-boot CPUs ...
CPU1 is up
Unfortunately it cannot be reverted easily.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds