Re: [PATCH v2] tracing: Remove definition of trace_*_rcuidle()

From: Guenter Roeck
Date: Tue Dec 03 2024 - 16:15:41 EST


Hi Steven,

On Thu, Oct 03, 2024 at 06:16:29PM -0400, Steven Rostedt 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>
> ---

This patch triggers backtraces with mips qemu emulations.

WARNING: CPU: 0 PID: 0 at include/trace/events/preemptirq.h:36 handle_int+0x128/0x178
RCU not watching for tracepoint
...
Call Trace:
[<ffffffff8012a89c>] show_stack+0x64/0x158
[<ffffffff8011e998>] dump_stack_lvl+0xb4/0x128
[<ffffffff801550f4>] __warn+0xa4/0x1f8
[<ffffffff80155328>] warn_slowpath_fmt+0xe0/0x1d0
[<ffffffff801233e8>] handle_int+0x128/0x178
[<ffffffff80f25ff8>] r4k_wait+0x30/0x40
[<ffffffff80f26448>] default_idle_call+0xa0/0x330
[<ffffffff801b6ccc>] do_idle+0xe4/0x1b8
[<ffffffff801b71c4>] cpu_startup_entry+0x34/0x48
[<ffffffff80f2689c>] kernel_init+0x0/0x110

WARNING: CPU: 0 PID: 0 at include/trace/events/preemptirq.h:40 trace_hardirqs_on+0x184/0x240
RCU not watching for tracepoint
...
Call Trace:
[<ffffffff8012a89c>] show_stack+0x64/0x158
[<ffffffff8011e998>] dump_stack_lvl+0xb4/0x128
[<ffffffff801550f4>] __warn+0xa4/0x1f8
[<ffffffff80155328>] warn_slowpath_fmt+0xe0/0x1d0
[<ffffffff8028fb74>] trace_hardirqs_on+0x184/0x240
[<ffffffff80123030>] restore_partial+0x6c/0x13c

Bisect log is attached.

Guenter

---
# bad: [f6420e2ee9caa3ecf226d0db22572db0d9451977] Merge branch 'fixes-v6.13' into testing
# good: [adc218676eef25575469234709c2d87185ca223a] Linux 6.12
git bisect start 'f6420e2ee9ca' 'v6.12'
# good: [6e95ef0258ff4ee23ae3b06bf6b00b33dbbd5ef7] Merge tag 'bpf-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
git bisect good 6e95ef0258ff4ee23ae3b06bf6b00b33dbbd5ef7
# good: [071b34dcf71523a559b6c39f5d21a268a9531b50] Merge tag 'sound-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
git bisect good 071b34dcf71523a559b6c39f5d21a268a9531b50
# good: [8a07b2623e7ff04856f8d4470d002675049b2065] Merge tag 'drm-misc-next-2024-10-31' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
git bisect good 8a07b2623e7ff04856f8d4470d002675049b2065
# bad: [80739fd00c7ea1315d362ce889bef499452913ef] Merge tag 'mfd-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
git bisect bad 80739fd00c7ea1315d362ce889bef499452913ef
# good: [e175800137f588688ac6aae30ce491e098f30c45] Merge tag 'exynos-drm-next-for-v6.13-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
git bisect good e175800137f588688ac6aae30ce491e098f30c45
# good: [ade5add00da20de40f63d097345bddea24d924f4] Merge tag 'amd-drm-next-6.13-2024-11-15' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
git bisect good ade5add00da20de40f63d097345bddea24d924f4
# bad: [06afb0f36106ecb839c5e2509905e68c1e2677de] Merge tag 'trace-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
git bisect bad 06afb0f36106ecb839c5e2509905e68c1e2677de
# good: [f1db825805d48cee6826b7dc082a04112c1f0c8d] Merge tag 'trace-ring-buffer-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
git bisect good f1db825805d48cee6826b7dc082a04112c1f0c8d
# bad: [61c6fefa92bb4ed7a34163b94f6ffac628237a29] bpf: decouple BPF link/attach hook and BPF program sleepable semantics
git bisect bad 61c6fefa92bb4ed7a34163b94f6ffac628237a29
# bad: [cdb537ac417938408ee819992f432c410f2d01a2] tracing/perf: Add might_fault check to syscall probes
git bisect bad cdb537ac417938408ee819992f432c410f2d01a2
# bad: [e53244e2c8931f9e80c1841293aea86ef8ad32a3] tracepoint: Remove SRCU protection
git bisect bad e53244e2c8931f9e80c1841293aea86ef8ad32a3
# good: [49e4154f4b16345da5e219b23ed9737a6e735bc1] tracing: Remove TRACE_EVENT_FL_FILTERED logic
git bisect good 49e4154f4b16345da5e219b23ed9737a6e735bc1
# bad: [48bcda6848232667f13b4e97588de488c83c37d4] tracing: Remove definition of trace_*_rcuidle()
git bisect bad 48bcda6848232667f13b4e97588de488c83c37d4
# good: [4a8840af5f53f2902eba91130fae650879f18e7a] tracepoints: Use new static branch API
git bisect good 4a8840af5f53f2902eba91130fae650879f18e7a
# first bad commit: [48bcda6848232667f13b4e97588de488c83c37d4] tracing: Remove definition of trace_*_rcuidle()