X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fpreemptirq.h;h=2fc81177cc3de8f7e941ba8ade021e132998c73e;hb=524796b877e03aadc92889e271e80e65932c9568;hp=4f9be8549ee007ac3794791790aea45a00562fca;hpb=10bd0f9d20fcba4c631d446b6c6efa43ca654edd;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/preemptirq.h b/instrumentation/events/lttng-module/preemptirq.h index 4f9be854..2fc81177 100644 --- a/instrumentation/events/lttng-module/preemptirq.h +++ b/instrumentation/events/lttng-module/preemptirq.h @@ -12,6 +12,9 @@ #include #include +/* + * The preemptirq probe is built when CONFIG_PREEMPTIRQ_EVENTS is defined. + */ LTTNG_TRACEPOINT_EVENT_CLASS(preemptirq_template, @@ -25,7 +28,19 @@ LTTNG_TRACEPOINT_EVENT_CLASS(preemptirq_template, ) ) -#ifndef CONFIG_PROVE_LOCKING +/* + * Tracing of irq enable / disable events is enabled + * on >= 4.19 when CONFIG_TRACE_IRQFLAGS is defined. + * on previous kernels when CONFIG_PROVE_LOCKING is NOT defined. + */ +#if defined(CONFIG_TRACE_IRQFLAGS) +#define LTTNG_TRACE_IRQ +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0) && \ + !defined(CONFIG_PROVE_LOCKING)) +#define LTTNG_TRACE_IRQ +#endif + +#ifdef LTTNG_TRACE_IRQ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, irq_disable, preemptirq_irq_disable, @@ -43,9 +58,21 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, irq_enable, TP_ARGS(ip, parent_ip) ) -#endif /* !CONFIG_PROVE_LOCKING */ - -#ifdef CONFIG_DEBUG_PREEMPT +#endif /* LTTNG_TRACE_IRQ */ + +/* + * Tracing of preempt enable / disable events is enabled + * on >= 4.19 when CONFIG_TRACE_PREEMPT_TOGGLE is defined. + * on previous kernels when CONFIG_DEBUG_PREEMPT is defined. + */ +#if defined(CONFIG_TRACE_PREEMPT_TOGGLE) +#define LTTNG_TRACE_PREEMPT +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0) && \ + defined(CONFIG_DEBUG_PREEMPT)) +#define LTTNG_TRACE_PREEMPT +#endif + +#ifdef LTTNG_TRACE_PREEMPT LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, preempt_disable, preemptirq_preempt_disable, @@ -63,7 +90,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, preempt_enable, TP_ARGS(ip, parent_ip) ) -#endif /* CONFIG_DEBUG_PREEMPT */ +#endif /* LTTNG_TRACE_PREEMPT */ #endif /* LTTNG_TRACE_PREEMPTIRQ_H */