projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix power of two computation
[ust.git]
/
include
/
ust
/
tracepoint.h
diff --git
a/include/ust/tracepoint.h
b/include/ust/tracepoint.h
index 7cfdbb01adbd4882a25165a9292170d63f0ba4df..be35f92665e7d69eeaf6633f95c535c213262c9b 100644
(file)
--- a/
include/ust/tracepoint.h
+++ b/
include/ust/tracepoint.h
@@
-1,5
+1,5
@@
-#ifndef _
LINUX
_TRACEPOINT_H
-#define _
LINUX
_TRACEPOINT_H
+#ifndef _
UST
_TRACEPOINT_H
+#define _
UST
_TRACEPOINT_H
/*
* Copyright (C) 2008 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
/*
* Copyright (C) 2008 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
@@
-24,15
+24,10
@@
* Ported to userspace by Pierre-Marc Fournier.
*/
* Ported to userspace by Pierre-Marc Fournier.
*/
-//#include <linux/immediate.h>
-//#include <linux/types.h>
-//#include <linux/rcupdate.h>
-
#define _LGPL_SOURCE
#include <urcu-bp.h>
#define _LGPL_SOURCE
#include <urcu-bp.h>
-
#include <ust/immediate.h>
#include <ust/immediate.h>
-#include
"kernelcompat.h"
+#include
<ust/core.h>
struct module;
struct tracepoint;
struct module;
struct tracepoint;
@@
-48,8
+43,8
@@
struct tracepoint {
* Keep in sync with vmlinux.lds.h.
*/
* Keep in sync with vmlinux.lds.h.
*/
-#define TP
PROTO(args...)
args
-#define TP
ARGS(args...)
args
+#define TP
_PROTO(args...)
args
+#define TP
_ARGS(args...)
args
#define CONFIG_TRACEPOINTS
#ifdef CONFIG_TRACEPOINTS
#define CONFIG_TRACEPOINTS
#ifdef CONFIG_TRACEPOINTS
@@
-77,11
+72,11
@@
struct tracepoint {
if (!generic) { \
if (unlikely(imv_read(__tracepoint_##name.state))) \
__DO_TRACE(&__tracepoint_##name, \
if (!generic) { \
if (unlikely(imv_read(__tracepoint_##name.state))) \
__DO_TRACE(&__tracepoint_##name, \
- TP
PROTO(proto), TPARGS(args));
\
+ TP
_PROTO(proto), TP_ARGS(args));
\
} else { \
if (unlikely(_imv_read(__tracepoint_##name.state))) \
__DO_TRACE(&__tracepoint_##name, \
} else { \
if (unlikely(_imv_read(__tracepoint_##name.state))) \
__DO_TRACE(&__tracepoint_##name, \
- TP
PROTO(proto), TPARGS(args));
\
+ TP
_PROTO(proto), TP_ARGS(args));
\
} \
} while (0)
} \
} while (0)
@@
-99,11
+94,11
@@
struct tracepoint {
extern struct tracepoint __tracepoint_##name; \
static inline void trace_##name(proto) \
{ \
extern struct tracepoint __tracepoint_##name; \
static inline void trace_##name(proto) \
{ \
- __CHECK_TRACE(name, 0, TP
PROTO(proto), TPARGS(args));
\
+ __CHECK_TRACE(name, 0, TP
_PROTO(proto), TP_ARGS(args));
\
} \
static inline void _trace_##name(proto) \
{ \
} \
static inline void _trace_##name(proto) \
{ \
- __CHECK_TRACE(name, 1, TP
PROTO(proto), TPARGS(args));
\
+ __CHECK_TRACE(name, 1, TP
_PROTO(proto), TP_ARGS(args));
\
} \
static inline int register_trace_##name(void (*probe)(proto)) \
{ \
} \
static inline int register_trace_##name(void (*probe)(proto)) \
{ \
@@
-121,11
+116,6
@@
struct tracepoint {
__attribute__((section("__tracepoints"), aligned(32))) = \
{ __tpstrtab_##name, 0, NULL }
__attribute__((section("__tracepoints"), aligned(32))) = \
{ __tpstrtab_##name, 0, NULL }
-#define EXPORT_TRACEPOINT_SYMBOL_GPL(name) \
- EXPORT_SYMBOL_GPL(__tracepoint_##name)
-#define EXPORT_TRACEPOINT_SYMBOL(name) \
- EXPORT_SYMBOL(__tracepoint_##name)
-
extern void tracepoint_update_probe_range(struct tracepoint *begin,
struct tracepoint *end);
extern void tracepoint_update_probe_range(struct tracepoint *begin,
struct tracepoint *end);
@@
-200,14
+190,20
@@
struct tracepoint_lib {
extern int tracepoint_register_lib(struct tracepoint *tracepoints_start,
int tracepoints_count);
extern int tracepoint_register_lib(struct tracepoint *tracepoints_start,
int tracepoints_count);
+extern int tracepoint_unregister_lib(struct tracepoint *tracepoints_start);
#define TRACEPOINT_LIB \
#define TRACEPOINT_LIB \
- extern struct tracepoint __start___tracepoints[] __attribute__((visibility("hidden"))); \
- extern struct tracepoint __stop___tracepoints[] __attribute__((visibility("hidden"))); \
+ extern struct tracepoint __start___tracepoints[] __attribute__((
weak,
visibility("hidden"))); \
+ extern struct tracepoint __stop___tracepoints[] __attribute__((
weak,
visibility("hidden"))); \
static void __attribute__((constructor)) __tracepoints__init(void) \
{ \
tracepoint_register_lib(__start___tracepoints, \
(((long)__stop___tracepoints)-((long)__start___tracepoints))/sizeof(struct tracepoint)); \
static void __attribute__((constructor)) __tracepoints__init(void) \
{ \
tracepoint_register_lib(__start___tracepoints, \
(((long)__stop___tracepoints)-((long)__start___tracepoints))/sizeof(struct tracepoint)); \
+ } \
+ \
+ static void __attribute__((destructor)) __tracepoints__destroy(void) \
+ { \
+ tracepoint_unregister_lib(__start___tracepoints); \
}
}
-#endif
+#endif
/* _UST_TRACEPOINT_H */
This page took
0.02802 seconds
and
4
git commands to generate.