linux/kernel/irq
Steven Rostedt a8d154b009 tracing: create automated trace defines
This patch lowers the number of places a developer must modify to add
new tracepoints. The current method to add a new tracepoint
into an existing system is to write the trace point macro in the
trace header with one of the macros TRACE_EVENT, TRACE_FORMAT or
DECLARE_TRACE, then they must add the same named item into the C file
with the macro DEFINE_TRACE(name) and then add the trace point.

This change cuts out the needing to add the DEFINE_TRACE(name).
Every file that uses the tracepoint must still include the trace/<type>.h
file, but the one C file must also add a define before the including
of that file.

 #define CREATE_TRACE_POINTS
 #include <trace/mytrace.h>

This will cause the trace/mytrace.h file to also produce the C code
necessary to implement the trace point.

Note, if more than one trace/<type>.h is used to create the C code
it is best to list them all together.

 #define CREATE_TRACE_POINTS
 #include <trace/foo.h>
 #include <trace/bar.h>
 #include <trace/fido.h>

Thanks to Mathieu Desnoyers and Christoph Hellwig for coming up with
the cleaner solution of the define above the includes over my first
design to have the C code include a "special" header.

This patch converts sched, irq and lockdep and skb to use this new
method.

Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Zhao Lei <zhaolei@cn.fujitsu.com>
Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-04-14 12:57:28 -04:00
..
autoprobe.c async: Asynchronous function calls to speed up kernel boot 2009-01-07 08:45:46 -08:00
chip.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
devres.c genirq: add support for threaded interrupts to devres 2009-03-24 12:15:23 +01:00
handle.c tracing: create automated trace defines 2009-04-14 12:57:28 -04:00
internals.h PM: Introduce functions for suspending and resuming device interrupts 2009-03-30 21:46:54 +02:00
Makefile PM: Introduce functions for suspending and resuming device interrupts 2009-03-30 21:46:54 +02:00
manage.c Merge branch 'linus' into irq/threaded 2009-04-06 01:41:22 +02:00
migration.c cpumask: update irq_desc to use cpumask_var_t 2009-01-11 19:12:46 +01:00
numa_migrate.c irq: fix cpumask memory leak on offstack cpumask kernels 2009-04-03 19:14:44 +02:00
pm.c PM: Introduce functions for suspending and resuming device interrupts 2009-03-30 21:46:54 +02:00
proc.c cpumask: update irq_desc to use cpumask_var_t 2009-01-11 19:12:46 +01:00
resend.c generic: sparse irqs: use irq_desc() together with dyn_array, instead of irq_desc[] 2008-10-16 16:52:29 +02:00
spurious.c irq: provide debug_poll_all_shared_irqs() method under CONFIG_DEBUG_SHIRQ 2009-01-16 17:46:49 +01:00