Re: [patch 2/3] RCU move trace defines to rcupdate_types.h (update)

From: Mathieu Desnoyers
Date: Thu Apr 16 2009 - 22:38:19 EST


* Steven Rostedt (rostedt@xxxxxxxxxxx) 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@xxxxxxxxxx>
CC: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
CC: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
CC: Steven Rostedt <rostedt@xxxxxxxxxxx>
CC: Ingo Molnar <mingo@xxxxxxx>
CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
CC: Christoph Hellwig <hch@xxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/