From: Paul_Woegerer@mentor.com (Woegerer, Paul)
Subject: [lttng-dev] notrace missing in lttng-ust
Date: Fri, 29 Jun 2012 10:28:08 +0200 [thread overview]
Message-ID: <4FED6718.1000205@mentor.com> (raw)
Hi Mathieu,
libust 0.x uses notrace (__attribute__((no_instrument_function)) for all
functions that are involved in event emitting.
For example:
./libust/marker.c:122:notrace void __ust_marker_empty_function(const
struct ust_marker *mdata,
./libust/marker.c:137:notrace void ust_marker_probe_cb(const struct
ust_marker *mdata,
./libust/marker.c:197:static notrace void
ust_marker_probe_cb_noarg(const struct ust_marker *mdata,
I just realized that this is no more the case for lttng-ust.
Was it a conscious decision not to use notrace for LTTng 2.0 lttng-ust,
or is it just missing ?
I would like to have notrace also in lttng-ust, at least for the
_DECLARE_TRACEPOINT macro in tracepoint.h.
Like this for example:
diff --git a/include/lttng/tracepoint.h b/include/lttng/tracepoint.h
index 5bab476..71665dc 100644
--- a/include/lttng/tracepoint.h
+++ b/include/lttng/tracepoint.h
@@ -137,6 +137,7 @@ extern "C" {
#define _DECLARE_TRACEPOINT(_provider, _name, ...) \
extern struct tracepoint __tracepoint_##_provider##___##_name;
\
+static inline void
__tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__))
__attribute__ ((no_instrument_function)); \
static inline void
__tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__)) \
{ \
struct tracepoint_probe *__tp_probe; \
@@ -158,12 +159,16 @@ end: \
tp_rcu_read_unlock_bp(); \
} \
static inline void __tracepoint_register_##_provider##___##_name(char
*name, \
+ void (*func)(void), void *data) __attribute__
((no_instrument_function)); \
+static inline void __tracepoint_register_##_provider##___##_name(char
*name, \
void (*func)(void), void *data) \
{ \
__tracepoint_probe_register(name, func, data, \
__tracepoint_##_provider##___##_name.signature); \
} \
static inline void
__tracepoint_unregister_##_provider##___##_name(char *name, \
+ void (*func)(void), void *data) __attribute__
((no_instrument_function)); \
+static inline void __tracepoint_unregister_##_provider##___##_name(char
*name, \
void (*func)(void), void *data) \
{ \
__tracepoint_probe_unregister(name, func, data); \
Greetings,
Paul
--
Paul Woegerer | SW Development Engineer
Mentor Embedded(tm) | Prinz Eugen Stra?e 72/2/4, Vienna, 1040 Austria
P 43.1.535991320
Nucleus? | Linux? | Android(tm) | Services | UI | Multi-OS
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
next reply other threads:[~2012-06-29 8:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-29 8:28 Woegerer, Paul [this message]
2012-06-30 18:16 ` Mathieu Desnoyers
[not found] ` <4FF2A31D.9020100@mentor.com>
[not found] ` <20120717141301.GA21204@Krystal>
2012-10-01 4:06 ` Francis Giraldeau
2012-10-01 15:29 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FED6718.1000205@mentor.com \
--to=paul_woegerer@mentor.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox