[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090417023802.GA26612@Krystal>
Date: Thu, 16 Apr 2009 22:38:02 -0400
From: Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Jeremy Fitzhardinge <jeremy@...p.org>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Hellwig <hch@....de>
Subject: Re: [patch 2/3] RCU move trace defines to rcupdate_types.h (update)
* Steven Rostedt (rostedt@...dmis.org) wrote:
>
> On Thu, 16 Apr 2009, Jeremy Fitzhardinge wrote:
>
> > I don't think this helps. rcupdate_types.h uses preempt_disable/enable, but
> > doesn't include linux/preempt.h for them - but someone's going to have to, so
> > you've got an implicit dependency on the user to #include the right headers in
> > advance.
>
> Would including linux/preempt.h in rcupdate_types.h be a problem?
>
> -- Steve
>
Here is the updated patch to tracepoint.h that includes preempt.h.
tracepoints : remove rcupdate.h dependency
Use the slimmer rcupdate_types.h instead of the fat rcupdate.h.
Changelog : include preempt.h from tracepoint.h.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>
CC: Jeremy Fitzhardinge <jeremy@...p.org>
CC: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
CC: Steven Rostedt <rostedt@...dmis.org>
CC: Ingo Molnar <mingo@...e.hu>
CC: Andrew Morton <akpm@...ux-foundation.org>
CC: Christoph Hellwig <hch@....de>
---
include/linux/tracepoint.h | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
Index: linux.trees.git/include/linux/tracepoint.h
===================================================================
--- linux.trees.git.orig/include/linux/tracepoint.h 2009-04-16 20:32:27.000000000 -0400
+++ linux.trees.git/include/linux/tracepoint.h 2009-04-16 22:13:53.000000000 -0400
@@ -15,7 +15,8 @@
*/
#include <linux/types.h>
-#include <linux/rcupdate.h>
+#include <linux/rcupdate_types.h>
+#include <linux/preempt.h>
struct module;
struct tracepoint;
@@ -150,11 +151,11 @@ extern int tracepoint_get_iter_range(str
* tracepoint_synchronize_unregister must be called between the last tracepoint
* probe unregistration and the end of module exit to make sure there is no
* caller executing a probe when it is freed.
+ * Using a define rather than a static inline to make sure tracepoint.h does not
+ * depend on rcupdate.h. rcupdate.h must be included whenever
+ * tracepoint_synchronize_unregister() is used.
*/
-static inline void tracepoint_synchronize_unregister(void)
-{
- synchronize_sched();
-}
+#define tracepoint_synchronize_unregister() synchronize_sched()
#define PARAMS(args...) args
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists