[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060914225615.GA29229@elte.hu>
Date: Fri, 15 Sep 2006 00:56:15 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Martin Bligh <mbligh@...igh.org>
Cc: Michel Dagenais <michel.dagenais@...ymtl.ca>,
Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>,
linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@...radead.org>,
Andrew Morton <akpm@...l.org>, Ingo Molnar <mingo@...hat.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
Thomas Gleixner <tglx@...utronix.de>,
Tom Zanussi <zanussi@...ibm.com>, ltt-dev@...fik.org,
fche@...hat.com
Subject: Re: [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108
* Martin Bligh <mbligh@...igh.org> wrote:
> >i disagree. Consider the following example from LTT:
> ...
> > trace_socket_sendmsg(sock, sock->sk->sk_family,
> > sock->sk->sk_type,
> > sock->sk->sk_protocol,
> > size);
> ...
>
> >what do the 5 extra lines introduced by trace_socket_sendmsg() tell us?
> >Nothing. They mostly just duplicate the information i already have from
> >the function declaration. They obscure the clear view of the function:
> ...
> >the resulting visual and structural redundancy hurts.
>
> Couldn't that be easily fixed by just doing
>
> trace_socket_sendmsg(sock, size);
>
> and have it work out which esoteric parts of the sock we want to
> trace, and which we don't? Is much less visually invasive, and gives
> the same effect.
yeah, visual impact is everything. The best that Frank and me came up
with is:
_(socket_sendmsg, sock, size);
we could quickly learn to visually skip over lines like that, they have
a pretty unique geometric form . While if it's called:
trace_socket_sendmsg(sock, size);
it always looks like a function call in the corner of the eye and
attracts attention.
the '_()' macro is defined as:
#define _(x,y,z) STAP_MARK(x,y,z)
(STAP_MARK is an existing SystemTap helper to insert static tracepoints
into the kernel.)
but the other property of dynamic tracing is still very important too:
we have the technological freedom to remove static tracepoints, if we
decide so. With static tracers, once they are in the tree, we are stuck
with these APIs.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists