From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Ingo Molnar <mingo@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: [PATCH 0/4] [GIT PULL] tracing: Fixes with dealing with RCU and context tracking
Date: Thu, 06 Jun 2013 18:16:54 -0400 [thread overview]
Message-ID: <20130606221654.698742573@goodmis.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 2065 bytes --]
Linus,
This includes the same patches as my last pull request with
trace-fixes-v3.10-rc3-v2. I added two more fixes to this series.
This contains 4 fixes.
The first two fix the case where full RCU debugging is enabled, enabling
function tracing causes a live lock of the system. This is due to the added
debug checks in rcu_dereference_raw() that is used by the function tracer.
These checks are also traced by the function tracer as well as cause enough
overhead to the function tracer to slow down the system enough that
the time to finish an interrupt can take longer than when the next
interrupt is triggered, causing a live lock from the timer interrupt.
Talking this over with Paul McKenney, we came up with a fix that adds
a new rcu_dereference_raw_notrace() that does not perform these added checks,
and let the function tracer use that.
The third commit fixes a failed compile when branch tracing is enabled,
due to the conversion of the trace_test_buffer() selftest that the
branch trace wasn't converted for.
The forth patch fixes a bug caught by the RCU lockdep code where a
rcu_read_lock() is performed when rcu is disabled (either going to
or from idle, or user space). This happened on the irqsoff tracer
as it calls task_uid(). The fix here was to use current_uid() when
possible that doesn't use rcu locking. Which luckily, is always used
when irqsoff calls this code.
Please pull the latest trace-fixes-v3.10-rc3-v3 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-fixes-v3.10-rc3-v3
Tag SHA1: 0e87101aa65ebfe736070474684d1b38fea4d805
Head SHA1: f17a5194859a82afe4164e938b92035b86c55794
Steven Rostedt (2):
rcu: Add _notrace variation of rcu_dereference_raw() and hlist_for_each_entry_rcu()
ftrace: Use the rcu _notrace variants for rcu_dereference_raw() and friends
Steven Rostedt (Red Hat) (2):
tracing: Fix bad parameter passed in branch selftest
tracing: Use current_uid() for critical time tracing
next reply other threads:[~2013-06-06 22:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 22:16 Steven Rostedt [this message]
2013-06-06 22:16 ` [PATCH 1/4] rcu: Add _notrace variation of rcu_dereference_raw() and hlist_for_each_entry_rcu() Steven Rostedt
2013-06-06 22:16 ` [PATCH 2/4] ftrace: Use the rcu _notrace variants for rcu_dereference_raw() and friends Steven Rostedt
2013-06-06 22:16 ` [PATCH 3/4] tracing: Fix bad parameter passed in branch selftest Steven Rostedt
2013-06-06 22:16 ` [PATCH 4/4] tracing: Use current_uid() for critical time tracing 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 \
--in-reply-to=20130606221654.698742573@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=torvalds@linux-foundation.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