From 87043a1a4fc74fc3edc23859bc8a3a4e10b5d4ad Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Mon, 14 Oct 2013 12:38:19 +0100 Subject: [PATCH 1/2] smp: Don't use typedef to work around compiler issue with tracepoints Having the typedef in place for the tracepoints causes compiler crashes in some situations. Just using void * directly avoids triggering the issue and should have no effect on the trace. Signed-off-by: Mark Brown --- include/trace/events/smp.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/include/trace/events/smp.h b/include/trace/events/smp.h index c8abfd744723..da0baf27a39a 100644 --- a/include/trace/events/smp.h +++ b/include/trace/events/smp.h @@ -5,11 +5,10 @@ #define _TRACE_SMP_H #include -typedef void (*__smp_call_func_t)(void *info); DECLARE_EVENT_CLASS(smp_call_class, - TP_PROTO(__smp_call_func_t fnc), + TP_PROTO(void * fnc), TP_ARGS(fnc), @@ -35,7 +34,7 @@ DECLARE_EVENT_CLASS(smp_call_class, */ DEFINE_EVENT(smp_call_class, smp_call_func_entry, - TP_PROTO(__smp_call_func_t fnc), + TP_PROTO(void * fnc), TP_ARGS(fnc) ); @@ -51,7 +50,7 @@ DEFINE_EVENT(smp_call_class, smp_call_func_entry, */ DEFINE_EVENT(smp_call_class, smp_call_func_exit, - TP_PROTO(__smp_call_func_t fnc), + TP_PROTO(void * fnc), TP_ARGS(fnc) ); @@ -67,7 +66,7 @@ DEFINE_EVENT(smp_call_class, smp_call_func_exit, */ TRACE_EVENT(smp_call_func_send, - TP_PROTO(__smp_call_func_t func, int dest), + TP_PROTO(void * func, int dest), TP_ARGS(func, dest), From efd78e224ed02d4d1b40eca8fd07b78981c486b5 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Mon, 14 Oct 2013 13:37:36 +0100 Subject: [PATCH 2/2] arm64: Fix build due to HMP tracepoints Commit 2353c1f800 (arm: ipi raise/start/end tracing) added tracepoints for IPIs in the generic GIC driver but only added definitions for them on ARM, causing build failures on ARM64. Fix this by adding equivalent definitions for arm64. Signed-off-by: Mark Brown --- arch/arm64/kernel/smp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 5d54e3717bf8..a28d2859932e 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -48,6 +48,9 @@ #include #include +#define CREATE_TRACE_POINTS +#include + /* * as from 2.5, kernels no longer have an init_tasks structure * so we need some other way of telling a new secondary core