From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: Re: [PATCH v3 linux-trace 1/8] tracing: attach eBPF programs to tracepoints and syscalls Date: Wed, 11 Feb 2015 07:51:42 -0500 Message-ID: <20150211075142.7d0f8ca1@gandalf.local.home> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Ingo Molnar , Namhyung Kim , Arnaldo Carvalho de Melo , Jiri Olsa , Masami Hiramatsu , Linux API , Network Development , LKML , Linus Torvalds , Peter Zijlstra , "Eric W. Biederman" To: Alexei Starovoitov Return-path: In-Reply-To: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: netdev.vger.kernel.org On Tue, 10 Feb 2015 22:33:05 -0800 Alexei Starovoitov wrote: > fair enough. > Something like TRACE_MARKER(arg1, arg2) that prints > it was hit without accessing the args would be enough. > Without any args it is indeed a 'fast kprobe' only. > Debug info would still be needed to access > function arguments. > On x64 function entry point and x64 abi make it easy > to access args, but i386 or kprobe in the middle > lose visibility when debug info is not available. > TRACE_MARKER (with few key args that function > is operating on) is enough to achieve roughly the same > as kprobe without debug info. Actually, what about a TRACE_EVENT_DEBUG(), that has a few args and possibly a full trace event layout. The difference would be that the trace events do not show up unless you have "trace_debug" on the command line. This should prevent applications from depending on them. I could even do the nasty dmesg output like I do with trace_printk()s, that would definitely keep a production kernel from adding it by default. When trace_debug is not there, the trace points could still be accessed but perhaps only via bpf, or act like a simple trace marker. Note, if you need ids, I rather have them in another directory than tracefs. Make a eventfs perhaps that holds these. I rather keep tracefs simple. This is something that needs to probably be discussed at bit. -- Steve