Messages in this thread |  | | | Date | Tue, 14 Apr 2009 17:23:42 -0400 (EDT) | | From | Steven Rostedt <> | | Subject | Re: [PATCH 0/8] [GIT PULL] TRACE_EVENT for modules |
On Tue, 14 Apr 2009, Theodore Tso wrote:
> On Tue, Apr 14, 2009 at 01:23:37PM -0400, Steven Rostedt wrote: > > > > Removal of the two headers per trace system. No need to have > > include/trace/sched.h and include/linux/sched_event_types.h > > All the changes go into include/trace/sched.h. But note that how that > > file is made is important. One could look at the sched.h file, or > > skb.h, lockdep.h and kmem.h as an example. > > Hi Steven, > > One thing which I would really like is to avoid needing to drop the > header file in include/trace/<subsystem.h>. > > The problem that I have with this is that for ext4, we need to access > private data structures which are defined in header files in > fs/ext4/*.h --- which we moved into fs/ext4 a long time ago at the > request of those who felt include/linux/* was getting rather > cluttered, and if a subsystem had header files which were only needed > by files for that particular subsystems, they should be moved out of > include/linux. > > I supported the above-mentioned cleanup, but it's causing problems > given that include/trace/ext4_events_types.h (or include/trace/ext4.h > in the new world order) needs access to various structure definitions > in fs/ext4/*.h. I could move the required header files into > include/linux/ext4_tracing_types.h --- which has the downside that it > is a very random collection of data structures --- or I could entirely > revert the cleanup we did long ago and move all of the ext4 header > files back into include/linux. But better yet would be if there was > some way we could tell the tracing subsystem that tracing header file > for ext4 could be found in fs/ext4/ext4_trace.h. > > Any chance you could support something like this?
Yes, at the bottom of your header file, before including define_trace.h, you can simply add:
#undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH ../../fs/ext4
#include <trace/define_trace.h>
the TRACE_INCLUDE_PATH is a reference from where trace/define_trace.h is located. It may even be cleaner to do:
#undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH EXT4_PATH
and in the Makefile have:
CFLAGS_ext4_jbd2.o := -DEXT4_PATH=$(PWD)
That's something like what I did for my external module test.
-- Steve
|  |