From: Steven Rostedt <[email protected]>
To: Stefan Metzmacher <[email protected]>
Cc: Ingo Molnar <[email protected]>,
[email protected],
io-uring <[email protected]>,
"[email protected]" <[email protected]>
Subject: Re: sched_waking vs. set_event_pid crash (Re: Tracing busy processes/threads freezes/stalls the whole machine)
Date: Thu, 22 Jul 2021 21:41:34 -0400 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
On Fri, 23 Jul 2021 00:43:13 +0200
Stefan Metzmacher <[email protected]> wrote:
> Hi Steve,
Hi Stefan,
>
> After some days of training:
> https://training.linuxfoundation.org/training/linux-kernel-debugging-and-security/
> I was able to get much closer to the problem :-)
>
> In order to reproduce it and get reliable kexec crash dumps,
> I needed to give the VM at least 3 cores.
>
> While running './io-uring_cp-forever link-cp.c file' (from:
> https://github.com/metze-samba/liburing/commits/io_uring-cp-forever )
> in one window, the following simple sequence triggered the problem in most cases:
>
> echo 1 > /sys/kernel/tracing/events/sched/sched_waking/enable
> echo 1 > /sys/kernel/tracing/set_event_pid
I was able to reproduce it with running hackbench in a while loop and
in another terminal, executing the above two lines.
I think I found the bug. Can you test this patch?
Thanks,
-- Steve
diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index 976bf8ce8039..fc32821f8240 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -299,8 +299,8 @@ static int tracepoint_add_func(struct tracepoint *tp,
* a pointer to it. This array is referenced by __DO_TRACE from
* include/linux/tracepoint.h using rcu_dereference_sched().
*/
- rcu_assign_pointer(tp->funcs, tp_funcs);
tracepoint_update_call(tp, tp_funcs, false);
+ rcu_assign_pointer(tp->funcs, tp_funcs);
static_key_enable(&tp->key);
release_probes(old);
next prev parent reply other threads:[~2021-07-23 1:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-22 14:26 Tracing busy processes/threads freezes/stalls the whole machine Stefan Metzmacher
2021-04-22 14:55 ` Stefan Metzmacher
2021-05-04 12:26 ` Stefan Metzmacher
2021-05-04 13:24 ` Steven Rostedt
2021-05-04 13:28 ` Stefan Metzmacher
2021-05-04 13:32 ` Steven Rostedt
2021-05-04 13:35 ` Steven Rostedt
2021-05-05 9:50 ` Stefan Metzmacher
2021-05-31 15:39 ` Stefan Metzmacher
2021-07-19 17:07 ` Stefan Metzmacher
2021-07-22 22:43 ` sched_waking vs. set_event_pid crash (Re: Tracing busy processes/threads freezes/stalls the whole machine) Stefan Metzmacher
2021-07-23 1:41 ` Steven Rostedt [this message]
2021-07-23 2:51 ` Steven Rostedt
2021-07-23 10:35 ` Stefan Metzmacher
2021-07-23 11:29 ` Steven Rostedt
2021-07-23 11:53 ` Stefan Metzmacher
2021-07-23 12:41 ` Steven Rostedt
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 \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox