From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Ingo Molnar <mingo@elte.hu>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>,
Andrew Morton <akpm@linux-foundation.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [PATCH] Markers use rcu_read_lock_sched()
Date: Mon, 29 Sep 2008 11:08:03 -0400 [thread overview]
Message-ID: <20080929150803.GE11245@Krystal> (raw)
In-Reply-To: <20080929082722.GB18663@elte.hu>
Use the new rcu_read_lock_sched/unlock_sched() in marker code around the call
site instead of preempt_disable/enable(). It helps reviewing the code more
easily.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Ingo Molnar <mingo@elte.hu>
CC: Peter Zijlstra <peterz@infradead.org>
CC: Paul E McKenney <paulmck@linux.vnet.ibm.com>
CC: akpm@linux-foundation.org
---
kernel/marker.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
Index: linux-2.6-lttng/kernel/marker.c
===================================================================
--- linux-2.6-lttng.orig/kernel/marker.c 2008-07-15 15:21:04.000000000 -0400
+++ linux-2.6-lttng/kernel/marker.c 2008-07-15 15:21:12.000000000 -0400
@@ -105,11 +105,11 @@ void marker_probe_cb(const struct marker
char ptype;
/*
- * preempt_disable does two things : disabling preemption to make sure
- * the teardown of the callbacks can be done correctly when they are in
- * modules and they insure RCU read coherency.
+ * rcu_read_lock_sched does two things : disabling preemption to make
+ * sure the teardown of the callbacks can be done correctly when they
+ * are in modules and they insure RCU read coherency.
*/
- preempt_disable();
+ rcu_read_lock_sched();
ptype = mdata->ptype;
if (likely(!ptype)) {
marker_probe_func *func;
@@ -146,7 +146,7 @@ void marker_probe_cb(const struct marker
va_end(args);
}
}
- preempt_enable();
+ rcu_read_unlock_sched();
}
EXPORT_SYMBOL_GPL(marker_probe_cb);
@@ -165,7 +165,7 @@ void marker_probe_cb_noarg(const struct
va_list args; /* not initialized */
char ptype;
- preempt_disable();
+ rcu_read_lock_sched();
ptype = mdata->ptype;
if (likely(!ptype)) {
marker_probe_func *func;
@@ -197,7 +197,7 @@ void marker_probe_cb_noarg(const struct
multi[i].func(multi[i].probe_private, call_private, fmt,
&args);
}
- preempt_enable();
+ rcu_read_unlock_sched();
}
EXPORT_SYMBOL_GPL(marker_probe_cb_noarg);
@@ -562,7 +562,7 @@ static int set_marker(struct marker_entr
* Disable a marker and its probe callback.
* Note: only waiting an RCU period after setting elem->call to the empty
* function insures that the original callback is not used anymore. This insured
- * by preempt_disable around the call site.
+ * by rcu_read_lock_sched around the call site.
*/
static void disable_marker(struct marker *elem)
{
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2008-09-29 15:08 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-29 8:00 [PATCH] markers: fix unregister bug and reenter bug Lai Jiangshan
2008-09-29 8:27 ` Ingo Molnar
2008-09-29 15:03 ` Mathieu Desnoyers
2008-09-29 15:05 ` [PATCH] Markers : marker_synchronize_unregister() Mathieu Desnoyers
2008-09-30 1:47 ` Lai Jiangshan
[not found] ` <20081002235650.43ca075c.akpm@linux-foundation.org>
2008-10-03 15:52 ` [PATCH] Markers synchronize unregister static inline Mathieu Desnoyers
2008-10-03 17:31 ` Ingo Molnar
2008-09-29 15:06 ` [PATCH] RCU read sched Mathieu Desnoyers
2008-09-30 10:08 ` Ingo Molnar
2008-09-30 13:10 ` Paul E. McKenney
2008-09-30 13:10 ` Paul E. McKenney
2008-09-29 15:08 ` Mathieu Desnoyers [this message]
2008-09-30 10:13 ` [PATCH] Markers use rcu_read_lock_sched() Ingo Molnar
2008-09-29 15:09 ` [PATCH] Markers : probe example fix teardown Mathieu Desnoyers
2008-09-29 15:10 ` [PATCH] Markers : documentation " Mathieu Desnoyers
2008-09-29 15:11 ` [PATCH] sputrace : use marker_synchronize_unregister() Mathieu Desnoyers
2008-09-29 15:11 ` Mathieu Desnoyers
2008-09-29 15:13 ` Christoph Hellwig
2008-09-29 15:13 ` Christoph Hellwig
2008-09-30 0:28 ` Jeremy Kerr
2008-09-30 0:28 ` Jeremy Kerr
2008-09-30 9:55 ` Ingo Molnar
2008-09-30 9:55 ` Ingo Molnar
2008-09-30 11:22 ` [Cbe-oss-dev] " Jeremy Kerr
2008-09-30 11:22 ` Jeremy Kerr
2008-09-30 11:30 ` Ingo Molnar
2008-09-30 11:30 ` Ingo Molnar
2008-09-30 11:34 ` Jeremy Kerr
2008-09-30 11:34 ` Jeremy Kerr
2008-09-29 15:03 ` [PATCH] markers: fix unregister bug and reenter bug Mathieu Desnoyers
2008-09-30 1:40 ` Lai Jiangshan
2008-09-30 3:38 ` Mathieu Desnoyers
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=20080929150803.GE11245@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.