|
|
@@ -7,6 +7,8 @@
|
|
|
#include <linux/tracepoint.h>
|
|
|
#include <asm/trace/common.h>
|
|
|
|
|
|
+#ifdef CONFIG_X86_LOCAL_APIC
|
|
|
+
|
|
|
extern int trace_resched_ipi_reg(void);
|
|
|
extern void trace_resched_ipi_unreg(void);
|
|
|
|
|
|
@@ -52,18 +54,6 @@ DEFINE_EVENT_FN(x86_irq_vector, name##_exit, \
|
|
|
*/
|
|
|
DEFINE_IRQ_VECTOR_EVENT(local_timer);
|
|
|
|
|
|
-/*
|
|
|
- * The ifdef is required because that tracepoint macro hell emits tracepoint
|
|
|
- * code in files which include this header even if the tracepoint is not
|
|
|
- * enabled. Brilliant stuff that.
|
|
|
- */
|
|
|
-#ifdef CONFIG_SMP
|
|
|
-/*
|
|
|
- * reschedule - called when entering/exiting a reschedule vector handler
|
|
|
- */
|
|
|
-DEFINE_RESCHED_IPI_EVENT(reschedule);
|
|
|
-#endif
|
|
|
-
|
|
|
/*
|
|
|
* spurious_apic - called when entering/exiting a spurious apic vector handler
|
|
|
*/
|
|
|
@@ -80,6 +70,7 @@ DEFINE_IRQ_VECTOR_EVENT(error_apic);
|
|
|
*/
|
|
|
DEFINE_IRQ_VECTOR_EVENT(x86_platform_ipi);
|
|
|
|
|
|
+#ifdef CONFIG_IRQ_WORK
|
|
|
/*
|
|
|
* irq_work - called when entering/exiting a irq work interrupt
|
|
|
* vector handler
|
|
|
@@ -96,6 +87,18 @@ DEFINE_IRQ_VECTOR_EVENT(irq_work);
|
|
|
* 4) goto 1
|
|
|
*/
|
|
|
TRACE_EVENT_PERF_PERM(irq_work_exit, is_sampling_event(p_event) ? -EPERM : 0);
|
|
|
+#endif
|
|
|
+
|
|
|
+/*
|
|
|
+ * The ifdef is required because that tracepoint macro hell emits tracepoint
|
|
|
+ * code in files which include this header even if the tracepoint is not
|
|
|
+ * enabled. Brilliant stuff that.
|
|
|
+ */
|
|
|
+#ifdef CONFIG_SMP
|
|
|
+/*
|
|
|
+ * reschedule - called when entering/exiting a reschedule vector handler
|
|
|
+ */
|
|
|
+DEFINE_RESCHED_IPI_EVENT(reschedule);
|
|
|
|
|
|
/*
|
|
|
* call_function - called when entering/exiting a call function interrupt
|
|
|
@@ -108,24 +111,33 @@ DEFINE_IRQ_VECTOR_EVENT(call_function);
|
|
|
* single interrupt vector handler
|
|
|
*/
|
|
|
DEFINE_IRQ_VECTOR_EVENT(call_function_single);
|
|
|
+#endif
|
|
|
|
|
|
+#ifdef CONFIG_X86_MCE_THRESHOLD
|
|
|
/*
|
|
|
* threshold_apic - called when entering/exiting a threshold apic interrupt
|
|
|
* vector handler
|
|
|
*/
|
|
|
DEFINE_IRQ_VECTOR_EVENT(threshold_apic);
|
|
|
+#endif
|
|
|
|
|
|
+#ifdef CONFIG_X86_MCE_AMD
|
|
|
/*
|
|
|
* deferred_error_apic - called when entering/exiting a deferred apic interrupt
|
|
|
* vector handler
|
|
|
*/
|
|
|
DEFINE_IRQ_VECTOR_EVENT(deferred_error_apic);
|
|
|
+#endif
|
|
|
|
|
|
+#ifdef CONFIG_X86_THERMAL_VECTOR
|
|
|
/*
|
|
|
* thermal_apic - called when entering/exiting a thermal apic interrupt
|
|
|
* vector handler
|
|
|
*/
|
|
|
DEFINE_IRQ_VECTOR_EVENT(thermal_apic);
|
|
|
+#endif
|
|
|
+
|
|
|
+#endif /* CONFIG_X86_LOCAL_APIC */
|
|
|
|
|
|
#undef TRACE_INCLUDE_PATH
|
|
|
#define TRACE_INCLUDE_PATH .
|