Messages in this thread | | | Subject | Re: [PATCH] tracing: Export key trace event symbols | From | Pawel Moll <> | Date | Thu, 23 Apr 2015 16:28:29 +0100 |
| |
On Wed, 2015-04-22 at 16:36 +0100, David Ahern wrote: > On 4/22/15 8:47 AM, Arnaldo Carvalho de Melo wrote: > > Em Wed, Apr 22, 2015 at 08:53:14AM -0400, Steven Rostedt escreveu: > >> >On Tue, 21 Apr 2015 21:24:51 -0500 > >> >Ron Rechenmacher<ron@fnal.gov> wrote: > >>> > >I've looked at the above reference briefly and it appears that user-space > >>> > >would be mmapping the buffer read-only. Is that correct? > >> > > >> >Correct, but I'm sure we could still add something (if it doesn't > >> >already exist) to have userspace write into the buffer. Ftrace has that > >> >with the trace_marker file. > > There is something in the works, I guess Pawell Moll (sp) was working on it, and > > David Ahern (CCed) should know, David? > > > > I played around with generating perf events in userspace with the > intention of having the userspace events get merged with kernel events > during the processing stage, but I did not take it to the point of > integrating into perf. This was around October 2013. I got distracted > with other topics and have not come back to it. > > Pawel has a patch that allows userspace to inject events into the stream > via ioctl calls.
In the last version it was even a prctl - no need for a perf file descriptor any more :-)
But the patch requires more care if it's to go in, so I'm open to people screaming "yes, we need it!" ;-)
> Stephane also injects events for JIT.
But that, as far as I understand, happens in userspace (as in: nothing goes down to kernel)?
> One of the key requirements is a common time basis (e.g., > CLOCK_MONOTONIC or PERF_CLOCK) to be able to merge the events properly. > I have a kernel module that exports perf_clock to userspace via > clock_gettime; the 4.1 kernel should have the code that allows the clock > id to be specified providing a solution to this problem.
It's in! :-) After all these years...
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34f439278cef7b1177f8ce24f9fc81dfc6221d3b
Pawel
| |