From: Steven Rostedt <rostedt@goodmis.org>
To: Joel Fernandes <joelaf@google.com>
Cc: Joel Fernandes <joel@joelfernandes.org>,
LKML <linux-kernel@vger.kernel.org>,
"Cc: Android Kernel" <kernel-team@android.com>,
Boqun Feng <boqun.feng@gmail.com>,
Byungchul Park <byungchul.park@lge.com>,
Ingo Molnar <mingo@redhat.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Namhyung Kim <namhyung@kernel.org>,
Paul McKenney <paulmck@linux.vnet.ibm.com>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Glexiner <tglx@linutronix.de>,
Tom Zanussi <tom.zanussi@linux.intel.com>
Subject: Re: [PATCH v12 3/3] tracing: Centralize preemptirq tracepoints and unify their usage
Date: Tue, 7 Aug 2018 19:45:15 -0400 [thread overview]
Message-ID: <20180807194515.4e549c1a@gandalf.local.home> (raw)
In-Reply-To: <6B9E5DC9-0859-41B4-9B72-A7D85E9EA2AD@google.com>
On Tue, 07 Aug 2018 11:24:13 -0400
Joel Fernandes <joelaf@google.com> wrote:
> On August 7, 2018 11:09:06 AM EDT, Steven Rostedt <rostedt@goodmis.org> wrote:
> >On Tue, 07 Aug 2018 10:48:05 -0400
> >Joel Fernandes <joelaf@google.com> wrote:
> >
> >> >You mean if someone add a tracepoint callback to the irq disable
> >> >tracepoint, and did a lockdep assert to make sure interrupts are
> >> >disabled?
> >>
> >> Yes that's what I meant.
> >
> >That sounds like a "Doctor, it hurts me when I do this" problem ;-)
>
> Haha, yes true. But just to clarify, I didn't do this to see the problem but noticed it with turning on existing things. :-) but I see your point...
>
OK, I hit this bug, but it's not because of the partial revert. This
bug seems it needs to be another partial revert. I like you movement of
the code, but I'm starting to doubt that we can use a trace event as a
hook for critical areas yet. Well, not until we can use srcu in NMI.
#define __DO_TRACE(tp, proto, args, cond, rcuidle) \
do { \
struct tracepoint_func *it_func_ptr; \
void *it_func; \
void *__data; \
int __maybe_unused idx = 0; \
\
if (!(cond)) \
return; \
\
/* srcu can't be used from NMI */ \
WARN_ON_ONCE(rcuidle && in_nmi()); <== WARN_ON_ONCE hit!
WARNING: CPU: 3 PID: 3727 at /work/build/trace/nobackup/linux-test.git/include/trace/events/preemptirq.h:38 trace_irq_disable_rcuidle+0x2a/0x6c
Modules linked in: ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipv6 crc_ccitt r8169 ppdev parport_pc parport
CPU: 3 PID: 3727 Comm: trace-cmd Not tainted 4.18.0-rc6-test+ #14
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
EIP: trace_irq_disable_rcuidle+0x2a/0x6c
Code: e9 01 00 00 00 c3 64 8b 0d 24 e1 50 c1 0f a3 0d e0 f1 3f c1 73 55 55 89 e5 57 56 53 51 64 8b 0d cc 37 51 c1 0f ba e1 14 73 02 <0f> 0b 89 d7 89 c6 b8 e0 d8 2e c1 e8 8e 5b fa ff 8b 1d 9c 27 3d c1
EAX: c0401509 EBX: efa43680 ECX: 80110000 EDX: c0dc81f3
ESI: ed823d44 EDI: efa43680 EBP: ed823cd0 ESP: ed823cc0
DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010047
CR0: 80050033 CR2: b7f06000 CR3: 30513b00 CR4: 001406f0
Call Trace:
trace_hardirqs_off_caller+0x23/0x2d
trace_hardirqs_off_thunk+0xc/0x10
EIP: default_do_nmi+0x1/0x157
-- Steve
next prev parent reply other threads:[~2018-08-07 23:45 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-30 22:24 [PATCH v12 0/3] tracing: Centralize preemptirq tracepoints and unify their usage Joel Fernandes
2018-07-30 22:24 ` [PATCH v12 1/3] lockdep: use this_cpu_ptr instead of get_cpu_var stats Joel Fernandes
2018-07-30 22:24 ` [PATCH v12 2/3] tracepoint: Make rcuidle tracepoint callers use SRCU Joel Fernandes
2018-07-30 23:10 ` Steven Rostedt
2018-08-10 15:35 ` Steven Rostedt
2018-08-10 16:32 ` Steven Rostedt
2018-07-30 22:24 ` [PATCH v12 3/3] tracing: Centralize preemptirq tracepoints and unify their usage Joel Fernandes
2018-08-06 19:50 ` Steven Rostedt
2018-08-07 0:43 ` Joel Fernandes
2018-08-07 1:43 ` Steven Rostedt
2018-08-07 13:33 ` Joel Fernandes
2018-08-07 13:49 ` Steven Rostedt
2018-08-07 14:10 ` Joel Fernandes
2018-08-07 14:34 ` Steven Rostedt
2018-08-07 14:48 ` Joel Fernandes
2018-08-07 15:09 ` Steven Rostedt
2018-08-07 15:24 ` Joel Fernandes
2018-08-07 23:45 ` Steven Rostedt [this message]
2018-08-07 23:54 ` Joel Fernandes
2018-08-08 0:48 ` Steven Rostedt
2018-08-08 1:17 ` Joel Fernandes
2018-08-08 1:55 ` Steven Rostedt
2018-08-08 2:13 ` Joel Fernandes
2018-08-08 2:28 ` Steven Rostedt
2018-08-08 3:44 ` Joel Fernandes
2018-08-08 3:53 ` Joel Fernandes
2018-08-08 5:06 ` Joel Fernandes
2018-08-08 12:46 ` Steven Rostedt
2018-08-08 13:03 ` Paul E. McKenney
2018-08-08 13:07 ` Steven Rostedt
2018-08-08 14:33 ` Paul E. McKenney
2018-08-08 14:49 ` Steven Rostedt
2018-08-08 15:05 ` Paul E. McKenney
2018-08-08 15:23 ` Steven Rostedt
2018-08-08 16:02 ` Paul E. McKenney
2018-08-08 16:24 ` Steven Rostedt
2018-08-08 17:21 ` Paul E. McKenney
2018-08-08 13:00 ` Paul E. McKenney
2018-08-08 14:10 ` Joel Fernandes
2018-08-08 14:49 ` Paul E. McKenney
2018-08-08 19:24 ` Joel Fernandes
2018-08-08 20:18 ` Paul E. McKenney
2018-08-08 22:15 ` Joel Fernandes
2018-08-08 22:47 ` Paul E. McKenney
2018-08-09 12:18 ` joel
2018-08-08 14:27 ` Steven Rostedt
2018-08-08 14:42 ` Paul E. McKenney
2018-08-08 15:27 ` Steven Rostedt
2018-08-08 16:03 ` Paul E. McKenney
2018-08-02 14:55 ` [PATCH v12 0/3] " Masami Hiramatsu
2018-08-03 2:57 ` Joel Fernandes
2018-08-03 7:23 ` Masami Hiramatsu
2018-08-04 4:51 ` Joel Fernandes
2018-08-05 16:46 ` Joel Fernandes
2018-08-06 2:07 ` Masami Hiramatsu
2018-08-06 15:24 ` Joel Fernandes
2018-08-03 7:34 ` Masami Hiramatsu
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=20180807194515.4e549c1a@gandalf.local.home \
--to=rostedt@goodmis.org \
--cc=boqun.feng@gmail.com \
--cc=byungchul.park@lge.com \
--cc=joel@joelfernandes.org \
--cc=joelaf@google.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=tom.zanussi@linux.intel.com \
/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;
as well as URLs for NNTP newsgroup(s).