[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060920155358.GH18646@redhat.com>
Date: Wed, 20 Sep 2006 11:53:58 -0400
From: "Frank Ch. Eigler" <fche@...hat.com>
To: Mathieu Desnoyers <compudj@...stal.dyndns.org>
Cc: Karim Yaghmour <karim@...rsys.com>, 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>,
Douglas Niehaus <niehaus@...s.ku.edu>,
Tom Zanussi <zanussi@...ibm.com>,
Paul Mundt <lethal@...ux-sh.org>, Jes Sorensen <jes@....com>,
Richard J Moore <richardj_moore@...ibm.com>,
William Cohen <wcohen@...hat.com>,
"Martin J. Bligh" <mbligh@...igh.org>,
Michel Dagenais <michel.dagenais@...ymtl.ca>,
systemtap@...rces.redhat.com, ltt-dev@...fik.org
Subject: Re: [PATCH] Linux Kernel Markers 0.2 for Linux 2.6.17
Hi -
Mathieu Desnoyers wrote:
> [...] Do you have ideas on how we can export the function symbol?
> (is it necessary ?)
It turns out that static variables like that get included in the
ordinary symbol tables along with other (un)initialized globals - it
has been making it into /proc/kallsyms. If the normal symbol table is
not available, then some other measure would be needed to find the
variable containing the function pointer.
> [...]
> #define MARK(name, format, args...) \
> do { \
> __mark_check_format(format, ## args); \
> MARK_SYM(name); \
> MARK_CALL(name, format, ## args); \
> } while(0)
While varargs simplify some things, it sacrifices type-safety, in that
a handler function would have to be varargs too. For the systemtap
marker prototype, parametrized variants use scores of (automatically
generated) macros, with different arity/type permutations, each
self-describing and type-safe.
Regarding a marker variant that would require kprobes (inserting a
labelled NOP or few), it may be an appropriate choice where dormant
marker overhead must be minimal and robust parameter passing is less
important.
- FChE
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists