[PATCH 0/5] updates to ftrace framework and mmiotrace

From: Pekka Paalanen
Date: Sun Apr 27 2008 - 15:29:42 EST


Hello all,

here starts a little patch series that finally makes mmiotrace produce good
trace logs with the ftrace framework. There are some caveats which I note
below. Also, the marker feature (as in inserting user comments into the log)
is still missing.

I believe I should try to make a full patch containing everything of
mmiotrace for review, but it might be tricky and not apply to any public
git tree, as it depends on new features in sched-devel, especially ftrace.
We'll see.

On Sat, 26 Apr 2008 20:33:06 +0300
Pekka Paalanen <pq@xxxxxx> wrote:

> On Mon, 21 Apr 2008 17:09:37 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > This patch adds a method for open_pipe and open_read to the pluggins
> > so that they can add a header to the trace pipe call.
> >
> > Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> In addition to this, I think I need tracer::close method called on
> tracing_release_pipe(). Use case: the reader closes the pipe before
> I have printed all of my header, i.e. walked through all PCI devices,
> so I need to properly destroy trace_iterator::private.

This is still broken. The close method is there, but it is not called,
as far as I can tell.

> I also intend to use trace_iterator::seq for printing my header, so I
> am looking if I can reuse code from tracing_read_pipe(). Looks like I'll
> extract the "return any leftover data" part into a separate function.

This resulted in the function trace_seq_to_user() which comes in the
first patch. Just like the code I refactored, it does not touch filp
or ppos. I trust the original author better than myself in this one :-)

> To check trace_iterator::overrun, I'd like to be able to use
> for_each_tracing_cpu(), but that is local to trace.c.

I'm using for_each_online_cpu() and trace_iterator::overrun for now.
It works, but I think the "events lost" trace log messages come too
late, like I explained earlier. On the other hand, the precise point
in the stream is not important, if one is aiming for a complete trace.

The patches will follow.


Thanks.

--
Pekka Paalanen
http://www.iki.fi/pq/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/