From: Peter Zijlstra <peterz@infradead.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Jiri Olsa <jolsa@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Josh Triplett <josh@joshtriplett.org>,
Andi Kleen <andi@firstfloor.org>,
Jan Stancek <jstancek@redhat.com>, Borislav Petkov <bp@alien8.de>
Subject: Re: [BUG] msr-trace.h:42 suspicious rcu_dereference_check() usage!
Date: Mon, 21 Nov 2016 15:37:16 +0100 [thread overview]
Message-ID: <20161121143716.GG3092@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <20161121091543.45f49945@gandalf.local.home>
On Mon, Nov 21, 2016 at 09:15:43AM -0500, Steven Rostedt wrote:
> On Mon, 21 Nov 2016 13:58:30 +0100
> Peter Zijlstra <peterz@infradead.org> wrote:
>
> > On Mon, Nov 21, 2016 at 10:34:25AM +0100, Jiri Olsa wrote:
> >
> > > > diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
> > > > index 0888a879120f..d6c6aa80675f 100644
> > > > --- a/arch/x86/kernel/process.c
> > > > +++ b/arch/x86/kernel/process.c
> > > > @@ -357,7 +357,7 @@ static void amd_e400_idle(void)
> > > > if (!amd_e400_c1e_detected) {
> > > > u32 lo, hi;
> > > >
> > > > - rdmsr(MSR_K8_INT_PENDING_MSG, lo, hi);
> > > > + RCU_NONIDLE(rdmsr(MSR_K8_INT_PENDING_MSG, lo, hi));
> > > >
> > > > if (lo & K8_INTP_C1E_ACTIVE_MASK) {
> > > > amd_e400_c1e_detected = true;
> >
> > OK, so while looking at this again, I don't like this ether :/
> >
> > Problem with this one is that it always adds the RCU fiddling overhead,
> > even when we're not tracing.
> >
> > I could do an rdmsr_notrace() for this one, dunno if its important.
>
> But that would neglect the point of tracing rdmsr. What about:
>
> /* tracepoints require RCU enabled */
> if (trace_read_msr_enabled())
> RCU_NONIDLE(rdmsr(MSR_K8_INT_PENDING_MSG, lo, hi));
> else
> rdmsr(MSR_K8_INT_PENDING_MSG, lo, hi);
Yeah, but this one does a printk() when it hits the contidion it checks
for, so not tracing it would be fine I think.
Also, Boris, why do we need to redo that rdmsr until we see that bit
set? Can't we simply do the rdmsr once and then be done with it?
next prev parent reply other threads:[~2016-11-21 14:37 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-21 0:53 [BUG] msr-trace.h:42 suspicious rcu_dereference_check() usage! Jiri Olsa
2016-11-21 9:02 ` Paul E. McKenney
2016-11-21 9:43 ` Peter Zijlstra
2016-11-21 11:00 ` Paul E. McKenney
2016-11-21 9:28 ` Peter Zijlstra
2016-11-21 9:34 ` Jiri Olsa
2016-11-21 9:42 ` Peter Zijlstra
2016-11-21 11:22 ` Jiri Olsa
2016-11-21 11:31 ` Peter Zijlstra
2016-11-21 12:49 ` Jiri Olsa
2016-11-21 12:58 ` Peter Zijlstra
2016-11-21 14:15 ` Steven Rostedt
2016-11-21 14:37 ` Peter Zijlstra [this message]
2016-11-21 15:35 ` Borislav Petkov
2016-11-21 15:41 ` Peter Zijlstra
2016-11-21 16:06 ` Borislav Petkov
2016-11-29 13:16 ` Borislav Petkov
2016-11-29 13:59 ` Thomas Gleixner
2016-11-30 8:48 ` Borislav Petkov
2016-11-30 8:54 ` Thomas Gleixner
2016-11-30 9:07 ` Borislav Petkov
2016-11-30 9:14 ` Thomas Gleixner
2016-11-29 14:04 ` Jiri Olsa
2016-11-21 14:20 ` Steven Rostedt
2016-11-21 17:06 ` Andi Kleen
2016-11-21 17:18 ` Peter Zijlstra
2016-11-21 17:45 ` Andi Kleen
2016-11-21 18:01 ` Steven Rostedt
2016-11-21 18:06 ` Andi Kleen
2016-11-21 18:22 ` Steven Rostedt
2016-11-21 18:37 ` Andi Kleen
2016-11-21 19:06 ` Steven Rostedt
2016-11-21 19:15 ` Steven Rostedt
2016-11-21 20:44 ` Andi Kleen
2016-11-22 8:19 ` Paul E. McKenney
2016-11-22 14:39 ` Steven Rostedt
2016-11-22 19:05 ` Andi Kleen
2016-11-24 2:06 ` Steven Rostedt
2016-11-28 21:48 ` Andi Kleen
2016-11-28 22:46 ` Steven Rostedt
2016-11-28 23:10 ` Andi Kleen
2016-11-21 17:55 ` Steven Rostedt
2016-11-21 18:24 ` Steven Rostedt
2016-11-21 20:12 ` Paul E. McKenney
2017-02-23 12:24 ` Jiri Olsa
2017-02-23 17:11 ` Andi Kleen
2017-02-23 17:28 ` Peter Zijlstra
2017-02-23 17:56 ` Borislav Petkov
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=20161121143716.GG3092@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=andi@firstfloor.org \
--cc=bp@alien8.de \
--cc=jolsa@redhat.com \
--cc=josh@joshtriplett.org \
--cc=jstancek@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=rostedt@goodmis.org \
/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