On Fri, Nov 30, 2012 at 06:39:11AM -0500, Steven Rostedt wrote: > On Fri, 2012-11-30 at 11:53 +0100, Borislav Petkov wrote: > > On Thu, Nov 29, 2012 at 08:51:19PM -0500, Steven Rostedt wrote: > > > > include/ras/aer_event.h | 77 +++++++++++++++++++++++++++++++++++++++++++++++ > > > > > > Is there a reason this header is here? Egad, I never noticed the > > > ras_event.h that is there. This include/ras directory was created for > > > the sole purpose of trace events! This is not the way to do this. > > > > Well, the idea for the ras event was to be able to use it in multiple > > places. It is currently used only by EDAC but it could be that memory > > errors could be reported by other agents which would reuse that TP. > > > > If it's generic, then place it into the include/trace/events directory, > the you don't need to have the TRACE_INCLUDE_PATH as that is the default > path the macros will use. Hmm, so I'm thinking maybe we should add a ras.h header there which contains all RAS TPs. > > > Please look at the sample in samples/trace_events/ > > > > > > The proper way is to keep the header by the driver. Then you can simply > > > include the header with "aer_event.h". > > > > > > But to have the macro magic work, you need to modify the Makefile to > > > have something like: > > > > > > CFLAGS_aerdrv_errprint.o = -I$(src) > > > > So I'm guessing that every .c file including the TP should also -I > > include the TP definition header wherever it is. Is that agreeable? > > You only need the -I$(src) for the .c file that uses the > CREATE_TRACE_POINTS macro, as the trace point macro magic headers > require it to find the TP header. This is done like this from EDAC's single usage site: #define CREATE_TRACE_POINTS #define TRACE_INCLUDE_PATH ../../include/ras #include <ras/ras_event.h> This is in <drivers/edac/edac_mc.c> and it doesn't to "-I$(src)" in the edac Makefile. > Other files just need "foo.h", or <trace/events/foo.h> if it's in the > generic location. So, it sounds to me like we should we move all RAS-specific tracepoints to <trace/events/ras.h> and then in each usage site do: #define CREATE_TRACE_POINTS #include <trace/events/ras.h> Correct? FWIW, it looks neat and clean to me that way. Thanks. -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html