mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] updates to ftrace framework and mmiotrace
@ 2008-04-27 19:29 Pekka Paalanen
  2008-04-27 19:33 ` [PATCH 1/5] ftrace: add readpos to struct trace_seq; add trace_seq_to_user() Pekka Paalanen
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Pekka Paalanen @ 2008-04-27 19:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pekka Paalanen, Steven Rostedt, linux-kernel, akpm,
	Peter Zijlstra, Soeren Sandmann Pedersen, Steven Rostedt,
	Pavel Roskin

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@iki.fi> wrote:

> On Mon, 21 Apr 2008 17:09:37 -0400
> Steven Rostedt <rostedt@goodmis.org> 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@redhat.com>
> 
> 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/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-04-28 13:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-27 19:29 [PATCH 0/5] updates to ftrace framework and mmiotrace Pekka Paalanen
2008-04-27 19:33 ` [PATCH 1/5] ftrace: add readpos to struct trace_seq; add trace_seq_to_user() Pekka Paalanen
2008-04-27 19:35 ` [PATCH 2/5] mmiotrace: print header using the read hook Pekka Paalanen
2008-04-27 19:37 ` [PATCH 3/5] mmiotrace: print overrun counts Pekka Paalanen
2008-04-27 19:39 ` [PATCH 4/5] mmiotrace: Do not print bogus pid for maps either Pekka Paalanen
2008-04-27 19:40 ` [PATCH 5/5] doc: update mmiotrace doc to current status Pekka Paalanen
2008-04-28 13:21 ` [PATCH 0/5] updates to ftrace framework and mmiotrace Steven Rostedt
2008-04-28 13:29 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®