diff options
Diffstat (limited to 'runtime/sduprobes.h')
-rw-r--r-- | runtime/sduprobes.h | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/runtime/sduprobes.h b/runtime/sduprobes.h index 934f19e0..b91dea93 100644 --- a/runtime/sduprobes.h +++ b/runtime/sduprobes.h @@ -7,13 +7,6 @@ // later version. #include <string.h> -extern int _stap_probe_sentinel; - -#define STAP_PROBE_START() \ - char *stap_sdt = getenv("SYSTEMTAP_SDT"); \ - if (stap_sdt != NULL) \ - _stap_probe_start () - #if _LP64 #define STAP_PROBE_STRUCT_ARG \ @@ -35,21 +28,20 @@ struct _probe_ ## probe \ #ifndef USE_STAP_DEBUGINFO_PROBE #define STAP_PROBE(provider,probe) \ STAP_PROBE_STRUCT(probe,0,0) \ - if (__builtin_expect(_stap_probe_sentinel, 0))\ - _stap_probe_0 (_probe_ ## probe.probe_name); + _stap_probe_0 (_probe_ ## probe.probe_name); #else #define STAP_PROBE(provider,probe) \ _probe_ ## probe: \ asm volatile ("nop"); \ - STAP_PROBE_STRUCT(probe,1,(size_t)&& _probe_ ## probe) + STAP_PROBE_STRUCT(probe,1,(size_t)&& _probe_ ## probe) \ + asm volatile ("# %0" :: "m" ((_probe_ ## probe.probe_type))); #endif #ifndef USE_STAP_DEBUGINFO_PROBE #define STAP_PROBE1(provider,probe,arg1) \ STAP_PROBE_STRUCT(probe,0,1) \ - if (__builtin_expect(_stap_probe_sentinel, 0))\ - _stap_probe_1 (_probe_ ## probe.probe_name,(size_t)arg1); + _stap_probe_1 (_probe_ ## probe.probe_name,(size_t)arg1); #else #define STAP_PROBE1(provider,probe,parm1) \ _probe_ ## probe: \ @@ -64,8 +56,7 @@ _probe_ ## probe: \ #ifndef USE_STAP_DEBUGINFO_PROBE #define STAP_PROBE2(provider,probe,arg1,arg2) \ STAP_PROBE_STRUCT(probe,0,2) \ - if (__builtin_expect(_stap_probe_sentinel, 0)) \ - _stap_probe_2 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2); + _stap_probe_2 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2); #else #define STAP_PROBE2(provider,probe,parm1,parm2) \ _probe_ ## probe: \ @@ -81,8 +72,7 @@ _probe_ ## probe: \ #ifndef USE_STAP_DEBUGINFO_PROBE #define STAP_PROBE3(provider,probe,arg1,arg2,arg3) \ STAP_PROBE_STRUCT(probe,0,3) \ - if (__builtin_expect(_stap_probe_sentinel, 0)) \ - _stap_probe_3 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3); + _stap_probe_3 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3); #else #define STAP_PROBE3(provider,probe,parm1,parm2,parm3) \ _probe_ ## probe: \ @@ -100,8 +90,7 @@ _probe_ ## probe: \ #ifndef USE_STAP_DEBUGINFO_PROBE #define STAP_PROBE4(provider,probe,arg1,arg2,arg3,arg4) \ STAP_PROBE_STRUCT(probe,0,4) \ - if (__builtin_expect(_stap_probe_sentinel, 0)) \ - _stap_probe_4 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4); + _stap_probe_4 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4); #else #define STAP_PROBE4(provider,probe,parm1,parm2,parm3) \ _probe_ ## probe: \ @@ -121,8 +110,7 @@ _probe_ ## probe: \ #ifndef USE_STAP_DEBUGINFO_PROBE #define STAP_PROBE5(provider,probe,arg1,arg2,arg3,arg4,arg5) \ STAP_PROBE_STRUCT(probe,0,5) \ - if (__builtin_expect(_stap_probe_sentinel, 0))\ - _stap_probe_5 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4,(size_t)arg5); + _stap_probe_5 (_probe_ ## probe.probe_name,(size_t)arg1,(size_t)arg2,(size_t)arg3,(size_t)arg4,(size_t)arg5); #else #define STAP_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) \ _probe_ ## probe: \ @@ -140,3 +128,14 @@ _probe_ ## probe: \ asm volatile ("# %0" :: "r"(arg5)); \ asm volatile ("# %0" :: "m" ((_probe_ ## probe.probe_type))); #endif + +#define DTRACE_PROBE1(provider,probe,parm1,parm2,parm3,parm4,parm5) \ +STAP_PROBE1(provider,probe,parm1,parm2,parm3,parm4,parm5) +#define DTRACE_PROBE2(provider,probe,parm1,parm2,parm3,parm4,parm5) \ +STAP_PROBE2(provider,probe,parm1,parm2,parm3,parm4,parm5) +#define DTRACE_PROBE3(provider,probe,parm1,parm2,parm3,parm4,parm5) \ +STAP_PROBE3(provider,probe,parm1,parm2,parm3,parm4,parm5) +#define DTRACE_PROBE4(provider,probe,parm1,parm2,parm3,parm4,parm5) \ +STAP_PROBE4(provider,probe,parm1,parm2,parm3,parm4,parm5) +#define DTRACE_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) \ +STAP_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) |