Daniel Bristot de Oliveiratrace/osnoise: Fix an ifdef comment9bd98575 years agoHistory
234 lines · 7.4 KB · C
RawDownload
#include <asm/trace/irq_vectors.h>#include <linux/trace.h> #if defined(CONFIG_OSNOISE_TRACER) && defined(CONFIG_X86_LOCAL_APIC)/* * trace_intel_irq_entry - record intel specific IRQ entry */static void trace_intel_irq_entry(void *data, int vector){	osnoise_trace_irq_entry(vector);} /* * trace_intel_irq_exit - record intel specific IRQ exit */static void trace_intel_irq_exit(void *data, int vector){	char *vector_desc = (char *) data; 	osnoise_trace_irq_exit(vector, vector_desc);} /* * register_intel_irq_tp - Register intel specific IRQ entry tracepoints */int osnoise_arch_register(void){	int ret; 	ret = register_trace_local_timer_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_err; 	ret = register_trace_local_timer_exit(trace_intel_irq_exit, "local_timer");	if (ret)		goto out_timer_entry; #ifdef CONFIG_X86_THERMAL_VECTOR	ret = register_trace_thermal_apic_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_timer_exit; 	ret = register_trace_thermal_apic_exit(trace_intel_irq_exit, "thermal_apic");	if (ret)		goto out_thermal_entry;#endif /* CONFIG_X86_THERMAL_VECTOR */ #ifdef CONFIG_X86_MCE_AMD	ret = register_trace_deferred_error_apic_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_thermal_exit; 	ret = register_trace_deferred_error_apic_exit(trace_intel_irq_exit, "deferred_error");	if (ret)		goto out_deferred_entry;#endif #ifdef CONFIG_X86_MCE_THRESHOLD	ret = register_trace_threshold_apic_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_deferred_exit; 	ret = register_trace_threshold_apic_exit(trace_intel_irq_exit, "threshold_apic");	if (ret)		goto out_threshold_entry;#endif /* CONFIG_X86_MCE_THRESHOLD */ #ifdef CONFIG_SMP	ret = register_trace_call_function_single_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_threshold_exit; 	ret = register_trace_call_function_single_exit(trace_intel_irq_exit,						       "call_function_single");	if (ret)		goto out_call_function_single_entry; 	ret = register_trace_call_function_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_call_function_single_exit; 	ret = register_trace_call_function_exit(trace_intel_irq_exit, "call_function");	if (ret)		goto out_call_function_entry; 	ret = register_trace_reschedule_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_call_function_exit; 	ret = register_trace_reschedule_exit(trace_intel_irq_exit, "reschedule");	if (ret)		goto out_reschedule_entry;#endif /* CONFIG_SMP */ #ifdef CONFIG_IRQ_WORK	ret = register_trace_irq_work_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_reschedule_exit; 	ret = register_trace_irq_work_exit(trace_intel_irq_exit, "irq_work");	if (ret)		goto out_irq_work_entry;#endif 	ret = register_trace_x86_platform_ipi_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_irq_work_exit; 	ret = register_trace_x86_platform_ipi_exit(trace_intel_irq_exit, "x86_platform_ipi");	if (ret)		goto out_x86_ipi_entry; 	ret = register_trace_error_apic_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_x86_ipi_exit; 	ret = register_trace_error_apic_exit(trace_intel_irq_exit, "error_apic");	if (ret)		goto out_error_apic_entry; 	ret = register_trace_spurious_apic_entry(trace_intel_irq_entry, NULL);	if (ret)		goto out_error_apic_exit; 	ret = register_trace_spurious_apic_exit(trace_intel_irq_exit, "spurious_apic");	if (ret)		goto out_spurious_apic_entry; 	return 0; out_spurious_apic_entry:	unregister_trace_spurious_apic_entry(trace_intel_irq_entry, NULL);out_error_apic_exit:	unregister_trace_error_apic_exit(trace_intel_irq_exit, "error_apic");out_error_apic_entry:	unregister_trace_error_apic_entry(trace_intel_irq_entry, NULL);out_x86_ipi_exit:	unregister_trace_x86_platform_ipi_exit(trace_intel_irq_exit, "x86_platform_ipi");out_x86_ipi_entry:	unregister_trace_x86_platform_ipi_entry(trace_intel_irq_entry, NULL);out_irq_work_exit: #ifdef CONFIG_IRQ_WORK	unregister_trace_irq_work_exit(trace_intel_irq_exit, "irq_work");out_irq_work_entry:	unregister_trace_irq_work_entry(trace_intel_irq_entry, NULL);out_reschedule_exit:#endif #ifdef CONFIG_SMP	unregister_trace_reschedule_exit(trace_intel_irq_exit, "reschedule");out_reschedule_entry:	unregister_trace_reschedule_entry(trace_intel_irq_entry, NULL);out_call_function_exit:	unregister_trace_call_function_exit(trace_intel_irq_exit, "call_function");out_call_function_entry:	unregister_trace_call_function_entry(trace_intel_irq_entry, NULL);out_call_function_single_exit:	unregister_trace_call_function_single_exit(trace_intel_irq_exit, "call_function_single");out_call_function_single_entry:	unregister_trace_call_function_single_entry(trace_intel_irq_entry, NULL);out_threshold_exit:#endif #ifdef CONFIG_X86_MCE_THRESHOLD	unregister_trace_threshold_apic_exit(trace_intel_irq_exit, "threshold_apic");out_threshold_entry:	unregister_trace_threshold_apic_entry(trace_intel_irq_entry, NULL);out_deferred_exit:#endif #ifdef CONFIG_X86_MCE_AMD	unregister_trace_deferred_error_apic_exit(trace_intel_irq_exit, "deferred_error");out_deferred_entry:	unregister_trace_deferred_error_apic_entry(trace_intel_irq_entry, NULL);out_thermal_exit:#endif /* CONFIG_X86_MCE_AMD */ #ifdef CONFIG_X86_THERMAL_VECTOR	unregister_trace_thermal_apic_exit(trace_intel_irq_exit, "thermal_apic");out_thermal_entry:	unregister_trace_thermal_apic_entry(trace_intel_irq_entry, NULL);out_timer_exit:#endif /* CONFIG_X86_THERMAL_VECTOR */ 	unregister_trace_local_timer_exit(trace_intel_irq_exit, "local_timer");out_timer_entry:	unregister_trace_local_timer_entry(trace_intel_irq_entry, NULL);out_err:	return -EINVAL;} void osnoise_arch_unregister(void){	unregister_trace_spurious_apic_exit(trace_intel_irq_exit, "spurious_apic");	unregister_trace_spurious_apic_entry(trace_intel_irq_entry, NULL);	unregister_trace_error_apic_exit(trace_intel_irq_exit, "error_apic");	unregister_trace_error_apic_entry(trace_intel_irq_entry, NULL);	unregister_trace_x86_platform_ipi_exit(trace_intel_irq_exit, "x86_platform_ipi");	unregister_trace_x86_platform_ipi_entry(trace_intel_irq_entry, NULL); #ifdef CONFIG_IRQ_WORK	unregister_trace_irq_work_exit(trace_intel_irq_exit, "irq_work");	unregister_trace_irq_work_entry(trace_intel_irq_entry, NULL);#endif #ifdef CONFIG_SMP	unregister_trace_reschedule_exit(trace_intel_irq_exit, "reschedule");	unregister_trace_reschedule_entry(trace_intel_irq_entry, NULL);	unregister_trace_call_function_exit(trace_intel_irq_exit, "call_function");	unregister_trace_call_function_entry(trace_intel_irq_entry, NULL);	unregister_trace_call_function_single_exit(trace_intel_irq_exit, "call_function_single");	unregister_trace_call_function_single_entry(trace_intel_irq_entry, NULL);#endif #ifdef CONFIG_X86_MCE_THRESHOLD	unregister_trace_threshold_apic_exit(trace_intel_irq_exit, "threshold_apic");	unregister_trace_threshold_apic_entry(trace_intel_irq_entry, NULL);#endif #ifdef CONFIG_X86_MCE_AMD	unregister_trace_deferred_error_apic_exit(trace_intel_irq_exit, "deferred_error");	unregister_trace_deferred_error_apic_entry(trace_intel_irq_entry, NULL);#endif #ifdef CONFIG_X86_THERMAL_VECTOR	unregister_trace_thermal_apic_exit(trace_intel_irq_exit, "thermal_apic");	unregister_trace_thermal_apic_entry(trace_intel_irq_entry, NULL);#endif /* CONFIG_X86_THERMAL_VECTOR */ 	unregister_trace_local_timer_exit(trace_intel_irq_exit, "local_timer");	unregister_trace_local_timer_entry(trace_intel_irq_entry, NULL);}#endif /* CONFIG_OSNOISE_TRACER && CONFIG_X86_LOCAL_APIC */