diff options
| author | Namhyung Kim <namhyung@gmail.com> | 2010-08-11 12:47:59 +0900 | 
|---|---|---|
| committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-08-19 01:33:05 +0200 | 
| commit | 6016ee13db518ab1cd0cbf43fc2ad5712021e338 (patch) | |
| tree | 317d1ed2b103db13fef6bb692a73235de41d764b /kernel/trace/trace_event_perf.c | |
| parent | 7ae07ea3a48d30689ee037cb136bc21f0b37d8ae (diff) | |
| download | olio-linux-3.10-6016ee13db518ab1cd0cbf43fc2ad5712021e338.tar.xz olio-linux-3.10-6016ee13db518ab1cd0cbf43fc2ad5712021e338.zip  | |
perf, tracing: add missing __percpu markups
ftrace_event_call->perf_events, perf_trace_buf,
fgraph_data->cpu_data and some local variables are percpu pointers
missing __percpu markups. Add them.
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <1281498479-28551-1-git-send-email-namhyung@gmail.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'kernel/trace/trace_event_perf.c')
| -rw-r--r-- | kernel/trace/trace_event_perf.c | 15 | 
1 files changed, 8 insertions, 7 deletions
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index db2eae2efcf..92f5477a006 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -9,7 +9,7 @@  #include <linux/kprobes.h>  #include "trace.h" -static char *perf_trace_buf[PERF_NR_CONTEXTS]; +static char __percpu *perf_trace_buf[PERF_NR_CONTEXTS];  /*   * Force it to be aligned to unsigned long to avoid misaligned accesses @@ -24,7 +24,7 @@ static int	total_ref_count;  static int perf_trace_event_init(struct ftrace_event_call *tp_event,  				 struct perf_event *p_event)  { -	struct hlist_head *list; +	struct hlist_head __percpu *list;  	int ret = -ENOMEM;  	int cpu; @@ -42,11 +42,11 @@ static int perf_trace_event_init(struct ftrace_event_call *tp_event,  	tp_event->perf_events = list;  	if (!total_ref_count) { -		char *buf; +		char __percpu *buf;  		int i;  		for (i = 0; i < PERF_NR_CONTEXTS; i++) { -			buf = (char *)alloc_percpu(perf_trace_t); +			buf = (char __percpu *)alloc_percpu(perf_trace_t);  			if (!buf)  				goto fail; @@ -102,13 +102,14 @@ int perf_trace_init(struct perf_event *p_event)  int perf_trace_enable(struct perf_event *p_event)  {  	struct ftrace_event_call *tp_event = p_event->tp_event; +	struct hlist_head __percpu *pcpu_list;  	struct hlist_head *list; -	list = tp_event->perf_events; -	if (WARN_ON_ONCE(!list)) +	pcpu_list = tp_event->perf_events; +	if (WARN_ON_ONCE(!pcpu_list))  		return -EINVAL; -	list = this_cpu_ptr(list); +	list = this_cpu_ptr(pcpu_list);  	hlist_add_head_rcu(&p_event->hlist_entry, list);  	return 0;  |