Messages in this thread Patch in this message | | | Date | Thu, 16 Apr 2009 22:38:02 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [patch 2/3] RCU move trace defines to rcupdate_types.h (update) |
| |
* Steven Rostedt (rostedt@goodmis.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@polymtl.ca> CC: Jeremy Fitzhardinge <jeremy@goop.org> CC: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> CC: Steven Rostedt <rostedt@goodmis.org> CC: Ingo Molnar <mingo@elte.hu> CC: Andrew Morton <akpm@linux-foundation.org> CC: Christoph Hellwig <hch@lst.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
| |