tracing: Add kprobe flag
add TRACE_EVENT_FL_KPROBE flag to differentiate kprobe type of tracepoints, since bpf programs can only be attached to kprobe type of PERF_TYPE_TRACEPOINT perf events. Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Arnaldo Carvalho de Melo <acme@infradead.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: David S. Miller <davem@davemloft.net> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1427312966-8434-3-git-send-email-ast@plumgrid.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
		
							parent
							
								
									4e537f7fbd
								
							
						
					
					
						commit
						72cbbc8994
					
				| @ -252,6 +252,7 @@ enum { | ||||
| 	TRACE_EVENT_FL_WAS_ENABLED_BIT, | ||||
| 	TRACE_EVENT_FL_USE_CALL_FILTER_BIT, | ||||
| 	TRACE_EVENT_FL_TRACEPOINT_BIT, | ||||
| 	TRACE_EVENT_FL_KPROBE_BIT, | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
| @ -265,6 +266,7 @@ enum { | ||||
|  *                     it is best to clear the buffers that used it). | ||||
|  *  USE_CALL_FILTER - For ftrace internal events, don't use file filter | ||||
|  *  TRACEPOINT    - Event is a tracepoint | ||||
|  *  KPROBE        - Event is a kprobe | ||||
|  */ | ||||
| enum { | ||||
| 	TRACE_EVENT_FL_FILTERED		= (1 << TRACE_EVENT_FL_FILTERED_BIT), | ||||
| @ -274,6 +276,7 @@ enum { | ||||
| 	TRACE_EVENT_FL_WAS_ENABLED	= (1 << TRACE_EVENT_FL_WAS_ENABLED_BIT), | ||||
| 	TRACE_EVENT_FL_USE_CALL_FILTER	= (1 << TRACE_EVENT_FL_USE_CALL_FILTER_BIT), | ||||
| 	TRACE_EVENT_FL_TRACEPOINT	= (1 << TRACE_EVENT_FL_TRACEPOINT_BIT), | ||||
| 	TRACE_EVENT_FL_KPROBE		= (1 << TRACE_EVENT_FL_KPROBE_BIT), | ||||
| }; | ||||
| 
 | ||||
| struct ftrace_event_call { | ||||
|  | ||||
| @ -1286,7 +1286,7 @@ static int register_kprobe_event(struct trace_kprobe *tk) | ||||
| 		kfree(call->print_fmt); | ||||
| 		return -ENODEV; | ||||
| 	} | ||||
| 	call->flags = 0; | ||||
| 	call->flags = TRACE_EVENT_FL_KPROBE; | ||||
| 	call->class->reg = kprobe_register; | ||||
| 	call->data = tk; | ||||
| 	ret = trace_add_event_call(call); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user