lkml.org 
[lkml]   [2010]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] trace: Add user-space event tracing/injection

* Pekka Enberg <penberg@kernel.org> wrote:

> > $ trace report
> > #
> > # trace events of 'sleep 1':
> > #
> > testit/ 6006 ( 0.002 ms):<"Hello World!">
> > testit/ 6006 ( 0.002 ms):<"Hello World!">
>
> Wow! This looks really nice!
>
> What does the duration in milliseconds mean there? For things like
> GC and JIT, I want something like:
>
> void gc(void)
> {
> prctl(PR_TASK_PERF_USER_TRACE_START, ...)
>
> collect();
>
> prctl(PR_TASK_PERF_USER_TRACE_END, ...)
> }
>
> So that it's clear from the tracing output that the VM was busy
> doing GC for n milliseconds. Barring background JIT'ing and
> pauseless GC, I'd also be interested in showing how much time the VM
> was actually _blocking_ the running application (which can happen
> with signals too, btw, for things like accessing data that's lazily
> initialized).

We can add two events: user_event_entry/user_event_exit - or we could use the string
to differentiate, and start it with:

"entry: ..."
"exit: ..."

And then the event timestamps (which are absolute and are available) could be used
to calculate the duration of this period.

'trace' could even be taught to treat such entry:/exit: strings in a special way, so
that you dont have to write Jato specific trace decoding bits?

Thanks,

Ingo


\
 
 \ /
  Last update: 2010-11-17 13:35    [W:0.126 / U:0.972 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site