Re: [PATCH] ftrace: add an fsync tracer

From: Frank Ch. Eigler
Date: Thu Nov 06 2008 - 16:21:39 EST


Hi -

On Thu, Nov 06, 2008 at 01:13:48PM -0800, Arjan van de Ven wrote:
> [...]
> fche@xxxxxxxxxx (Frank Ch. Eigler) wrote:
>
> > Arjan van de Ven <arjan@xxxxxxxxxxxxx> writes:
> >
> > > [...]
> > > what is the real need is
> > > 1) Have a trace point in the source
> > > 2) Associate a "formatting function" with that point
> > > (which basically transforms the trace parameters to, say, a
> > > string) 3) A way to turn the trace point on/off.
> >
> > For 1 and 2, it may be worth considering a plain trace_mark() in
> > do_sync(). The complication that makes this uglier than a one-liner
>
> no why is that?
>
> what you really need is to be able to provide a callback function
> pointer that will do the formatting, or as Peter wants it, a format string.
> [...]
> Doing this like you propose is just too complex and too specialistic;
> the reality is that merely formatting the arguments of a trace point is
> the common case, and I suspect for 99.9% of the cases we can get away
> with a standard default formatting.

I don't understand what you're arguing against. If formatting strings
learn to deal with struct files, then the marker approach would be
even simpler, and the fsync "tracer" would consist of this single line:

trace_mark (fsync, "process %s fsyncd file %pF\n", comm->execname, file);

Via some simple additional generic code (the generic marker->ftrace
backend), that would turn into exactly the "merely formatting the
arguments ... 99.9% of the cases" you're talking about.


- FChE
--
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/