Mathieu Desnoyers [Wed, 14 Dec 2011 21:04:37 +0000 (16:04 -0500)]
Use DBG instead of WARN for futex_wake workaround message
This message will only be shown if LTTNG_UST_DEBUG env. var. is set.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 14 Dec 2011 16:10:31 +0000 (11:10 -0500)]
Make dlopen more robust by using the .0 target for the library
We've experienced a double library load on a setup where the lttng-ust
.so and .so.0 were two physical files instead of a symlink (as they
should be). So let's make liblttng-ust slightly more robust by
specifying the target .so.0 instead of .so. It will also make handling
of library version upgrades easier.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 23:05:42 +0000 (18:05 -0500)]
Update changelog
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 22:56:41 +0000 (17:56 -0500)]
Update README
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 22:51:58 +0000 (17:51 -0500)]
Update version to 1.9.1
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 04:47:24 +0000 (23:47 -0500)]
Rename liblttng-ust-malloc to liblttng-ust-libc, update to lttng-ust 2.0
- includes a fix to tracepoints to disable the tracepoint sites upon
unregistration of the library. This is useful for cases where, like
the libc wrapper, the library dependency for constructor/destructor
is not quite right due to cross-dependencies (lttng-ust depends on
malloc/free). This ensures the session teardown will never be in a
position where it could teardown data structures still in use
by probes that cannot be unregistered because their associated
library would already have called its destructor.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 13 Dec 2011 03:35:56 +0000 (22:35 -0500)]
Update readme file, add example makefile
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 12 Dec 2011 19:33:33 +0000 (14:33 -0500)]
Add missing compat.h file in Makefile.am
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 12 Dec 2011 19:31:17 +0000 (14:31 -0500)]
Remove deprecated documentation files
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 12 Dec 2011 19:30:59 +0000 (14:30 -0500)]
Remove unused variable warning
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 12 Dec 2011 18:56:44 +0000 (13:56 -0500)]
Fix unset metadata buffer self ref
Caused the metadata flush to never be done.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 11 Dec 2011 16:32:20 +0000 (11:32 -0500)]
add ustctl_release_handle
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 11 Dec 2011 15:20:01 +0000 (10:20 -0500)]
Print compiler warning/runtime warning and truncate too long tracepoint names
- also apply to loglevel names.
- -Wsystem-headers needs to be used to get gcc to show the
warnings from system headers (which is the category in which the
tracepoint event declaration headers falls into).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 8 Dec 2011 21:37:03 +0000 (16:37 -0500)]
Add sock flush buffer ctl API
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Thu, 8 Dec 2011 20:56:21 +0000 (15:56 -0500)]
Add LTTNG_HOME_RUNDIR constant for local tracing
Adds the LTTNG_HOME_RUNDIR constant using ".lttng" as local directory
used for local sockets (when the session daemon is not running under
root privileges).
This is part of a change made to lttng-tools in order to support
unprivileged users to use the UST tracer.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 8 Dec 2011 13:28:42 +0000 (08:28 -0500)]
Fix dynamic linking with GNU gold linker
Programs that were not linked explicitely with -lurcu-bp generated no
trace output when linked with GNU gold, because the urcu-bp library
symbols were not used to populate the weak urcu-bp symbols used by the
program. (even though they worked fine with the standard GNU ld).
Solve this by creating those wrapper symbols into tracepoint.c, and
explicitely get them with dlsym() in the constructor.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 8 Dec 2011 00:57:59 +0000 (19:57 -0500)]
wildcards & loglevels: fix list field for iteration
Was causing segmentation fault on loglevel & wildcard disable operation.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 7 Dec 2011 02:01:50 +0000 (21:01 -0500)]
Handle _LGPL_SOURCE config
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 19:58:27 +0000 (14:58 -0500)]
Add wildcard support
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 15:54:31 +0000 (10:54 -0500)]
Fix loglevel value enable: use isdigit rather than isalpha
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 15:50:34 +0000 (10:50 -0500)]
Fix uninitialized match variable
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 15:29:24 +0000 (10:29 -0500)]
Support activation of loglevel by number
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 14:07:10 +0000 (09:07 -0500)]
loglevel enable fix: enable event names, not loglevel
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 04:59:57 +0000 (23:59 -0500)]
Fix add_loglevel entry setup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 04:53:34 +0000 (23:53 -0500)]
loglevel enable fixes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 6 Dec 2011 00:54:48 +0000 (19:54 -0500)]
loglevels: deal with fixup upon library load
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 5 Dec 2011 23:45:04 +0000 (18:45 -0500)]
Add loglevel enable/disable support
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 5 Dec 2011 20:51:32 +0000 (15:51 -0500)]
Include lttng/tracepoint-types.h from tracepoint.h
Was wrong include path.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 5 Dec 2011 16:25:48 +0000 (11:25 -0500)]
Fix BUG_ON handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 3 Dec 2011 23:36:05 +0000 (18:36 -0500)]
Cleanup tracepoint.c
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 3 Dec 2011 22:50:23 +0000 (17:50 -0500)]
Increase tracepoint provider:name len limit to 255, add compile-time warning
The compiler will now complain with a warning if a tracepoint
provider:name exceeds the 255 char limit (+ \0).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 3 Dec 2011 22:37:41 +0000 (17:37 -0500)]
Use iterator on tracepoint probes instead of tracepoints per se
- Simplify iteration locking scheme by using a linked list to store all
the tracepoints to be iterated on.
- Allow getting the loglevel in addition to the tracepoint name.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Alexandre Montplaisir [Fri, 2 Dec 2011 02:22:19 +0000 (21:22 -0500)]
Cleanup the JNI interface options in configure.ac
Fix typos, use macros and skip a redundant check.
Signed-off-by: Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Alexandre Montplaisir [Fri, 2 Dec 2011 02:20:56 +0000 (21:20 -0500)]
Add check for 'texinfo' to configure.ac
Fix for http://lttng.org/issue/252
Signed-off-by: Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Alexandre Montplaisir [Fri, 2 Dec 2011 02:20:00 +0000 (21:20 -0500)]
Update .gitignore
Signed-off-by: Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Dec 2011 02:18:50 +0000 (21:18 -0500)]
Remove unused import for java tracing wrapper
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Dec 2011 02:15:51 +0000 (21:15 -0500)]
Add missing .class in ust java makefile
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Dec 2011 02:03:57 +0000 (21:03 -0500)]
Update tracepoint used within lttng ust java
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Dec 2011 01:59:03 +0000 (20:59 -0500)]
lttng_ust_java: add missing .h
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Dec 2011 01:55:07 +0000 (20:55 -0500)]
Update lttng-ust java provider following API change
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 2 Dec 2011 01:53:34 +0000 (20:53 -0500)]
Add TRACEPOINT_DEFINE to ust java lib
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 1 Dec 2011 15:40:58 +0000 (10:40 -0500)]
Describe autotools/libtool/automake version dependency
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 1 Dec 2011 15:19:09 +0000 (10:19 -0500)]
Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated)
This trick does not seem to work anyway.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 1 Dec 2011 14:35:54 +0000 (09:35 -0500)]
Use unsigned int instead of int for bitfields
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 23:44:20 +0000 (18:44 -0500)]
Change API to support exporting loglevel in event listing
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 23:15:21 +0000 (18:15 -0500)]
Remove loglevel iter (will be performed by tracepoint iteration)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 22:55:25 +0000 (17:55 -0500)]
Tracepoint loglevel: setup all loglevel information at build time
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 22:28:59 +0000 (17:28 -0500)]
ust-ctl API: ustctl_release_object() should return an error instead of assert
Communication error can cause this function to fail, so an assert is
definitely not the right approach. Return error to caller.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 15:41:36 +0000 (10:41 -0500)]
Divert installation of test plugins into /tmp/
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 14:04:42 +0000 (09:04 -0500)]
Support older autotools
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 30 Nov 2011 13:18:36 +0000 (08:18 -0500)]
Remove unneeded null pointer check
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 29 Nov 2011 21:57:31 +0000 (16:57 -0500)]
Fix demo program link dependencies
Only demo can afford not to link with liblttng-ust, not the providers.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 29 Nov 2011 21:39:58 +0000 (16:39 -0500)]
ltt_event_create should return error values
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 29 Nov 2011 20:29:48 +0000 (15:29 -0500)]
Apply autoupdate to configure.ac
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 29 Nov 2011 13:08:55 +0000 (08:08 -0500)]
demo program: only depend on libdl
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 29 Nov 2011 13:01:50 +0000 (08:01 -0500)]
Tracepoint c++ support: cast void * to function pointer
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 29 Nov 2011 12:47:48 +0000 (07:47 -0500)]
Introduce c++ test
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 27 Nov 2011 10:10:21 +0000 (10:10 +0000)]
Add new demo files
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 27 Nov 2011 10:08:02 +0000 (10:08 +0000)]
Allow weak binding from instrumented apps to liblttng-ust
This introduce the TRACEPOINT_DEFINE macro. See demo program for usage
example. This is an API change for instrumentation.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 26 Nov 2011 06:59:20 +0000 (07:59 +0100)]
Update tracepoint comments
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 26 Nov 2011 01:57:56 +0000 (02:57 +0100)]
Rename TP_LOGLEVEL to tp_loglevel
Within the loglevel enumeration, the entries are not separated by a
comma. To match the style used for TP_FIELDS() ctf_*() entries, use
lower-case, which denotes that these entries must not be separated by
commas.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 23 Nov 2011 13:37:14 +0000 (14:37 +0100)]
Implement tracepoint loglevel macros
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 17:14:09 +0000 (12:14 -0500)]
Handle sessiond application refusal with delayed retry
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 16:46:36 +0000 (11:46 -0500)]
Fix 32-bit compile type size warning
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 16:42:42 +0000 (11:42 -0500)]
Send bitness upon registration
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 16:12:23 +0000 (11:12 -0500)]
USt test: fix 32-bit type warning
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 16:10:53 +0000 (11:10 -0500)]
Fix 32-bit type warning
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 16:08:56 +0000 (11:08 -0500)]
Add missing patient_write.c
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 19 Nov 2011 14:39:42 +0000 (09:39 -0500)]
ustctl: do not free object on release_object
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 19:07:18 +0000 (14:07 -0500)]
Do not install share.h (cleanup)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 19:04:08 +0000 (14:04 -0500)]
Do not install usterr-signal-safe
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:56:30 +0000 (13:56 -0500)]
Remove core.h
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:36:03 +0000 (13:36 -0500)]
Extend align.h
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:29:54 +0000 (13:29 -0500)]
Implement error.h
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:20:13 +0000 (13:20 -0500)]
Remove unused ARRAY_SIZE macro
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:19:24 +0000 (13:19 -0500)]
Implement __rb_same_type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:15:56 +0000 (13:15 -0500)]
Implement lttng_ust_get_cpu()
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:02:30 +0000 (13:02 -0500)]
Cleanup: remove debug output
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 18:01:16 +0000 (13:01 -0500)]
ust-tracepoint-event: fix probe creation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 17:41:10 +0000 (12:41 -0500)]
Compile fix following moved headers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 17:36:52 +0000 (12:36 -0500)]
Implement ust-tracepoint-events under MIT license
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 17:20:21 +0000 (12:20 -0500)]
Implement tracepoint event reset header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 17:16:11 +0000 (12:16 -0500)]
Fix tracepoint event related build errors
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 17:05:43 +0000 (12:05 -0500)]
Basic tracepoint event implementation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 18 Nov 2011 16:35:13 +0000 (11:35 -0500)]
Implement jhash from public domain source, apply LGPL license
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 23:39:02 +0000 (18:39 -0500)]
More compile fixes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 21:45:13 +0000 (16:45 -0500)]
Fix lib ring buffer compile errors
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 21:39:56 +0000 (16:39 -0500)]
Fix configure
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 20:34:22 +0000 (15:34 -0500)]
Add missing extern to tracepoint.h
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 19:37:56 +0000 (14:37 -0500)]
Installed headers relicensing and cleanup
- Move all locally-used code outside of include/lttng.
- All headers included in applications for tracing are relicensed
to MIT license, except for lttng/core.h and
lttng/usterr-signal-safe.h, which both purposefully only contain
trivial declarations are static inline functions/macros of 10 lines or
less. They are therefore OK to include into non-GPL applications
without being considered as derivative work under the terms of the
LGPLv2.1 license.
- Update version number support.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 18:38:56 +0000 (13:38 -0500)]
clock.h: ensure all functions are trivial (10 lines or less)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 18:37:21 +0000 (13:37 -0500)]
Remove old marker header files
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 18:36:00 +0000 (13:36 -0500)]
usterr-signal-safe.h: ensure all macros are trivial (10 lines max)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 18:30:00 +0000 (13:30 -0500)]
Implement tracepoint-internal.h as LGPLv2.1 (not exported)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 17:11:53 +0000 (12:11 -0500)]
Relicense tests probe headers/tp.c files to MIT-style license
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 17:02:48 +0000 (12:02 -0500)]
Remove all LGPL-licensed headers
Remove all headers licensed under LGPLv2.1 for upcoming reimplementation
under the BSD-style MIT license.
Even though technically most of the content of these headers fall under
the exceptions of the LGPL:
"When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)"
Our intent is to make sure applications can include these headers
without having to be considered derived code.
Therefore, the license of align.h, bug.h, ringbuffer-abi.h and
ringbuffer-config.h, ust-abi.h, ust-events.h, vatomic.h are changed to
MIT license (I, Mathieu Desnoyers, am the sole author of these files and
agree to these changes).
I am removing tracepoint-event.h, tracepoint-internal.h,
tracepoint-types.h, tracepoint.h, ust-tracepoint-event-reset.h and
ust-tracepoint-event.h because those might be considered derived work
from Ftrace.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 17 Nov 2011 15:52:50 +0000 (10:52 -0500)]
Tracepoint: evaluate arguments within test block
> On Thu, 2011-11-17 at 04:55 +0100, Eric Dumazet wrote:
> > The general admitted claim of a tracepoint being on x86 a single
> > instruction :
> >
> > jmp +0
> >
> > Is not always true.
> >
> > For example in mm/slub.c, kmem_cache_alloc()
> >
> > void *ret = slab_alloc(s, gfpflags, NUMA_NO_NODE, _RET_IP_);
> > trace_kmem_cache_alloc(_RET_IP_, ret, s->objsize, s->size, gfpflags);
> > return ret;
> >
> > We can check compiler output and see that 4 extra instructions were
> > added because s->objsize & s->size are evaluated.
> >
> > I noticed this in a perf session, because these 4 extra instructions
> > added some noticeable latency/cost.
> >
> >
c10e26a4: 8b 5d d8 mov -0x28(%ebp),%ebx
> >
c10e26a7: 85 db test %ebx,%ebx
> >
c10e26a9: 75 6d jne
c10e2718 (doing the memset())
> >
c10e26ab: 8b 76 0c mov 0xc(%esi),%esi // extra 1
> >
c10e26ae: 8b 5d 04 mov 0x4(%ebp),%ebx // extra 2
> >
c10e26b1: 89 75 f0 mov %esi,-0x10(%ebp) // extra 3
> >
c10e26b4: 89 5d ec mov %ebx,-0x14(%ebp) // extra 4
> >
c10e26b7: e9 00 00 00 00 jmp
c10e26bc
> >
c10e26bc: 8b 45 d8 mov -0x28(%ebp),%eax
> >
c10e26bf: 83 c4 28 add $0x28,%esp
> >
c10e26c2: 5b pop %ebx
> >
c10e26c3: 5e pop %esi
> >
c10e26c4: 5f pop %edi
> >
c10e26c5: c9 leave
> >
> >
> > A fix would be to not declare an inline function but a macro...
> >
> > #define trace_kmem_cache_alloc(...) \
> > if (static_branch(&__tracepoint_kmem_cache_alloc.key)) \
> > __DO_TRACE(&__tracepoint_kmem_cache_alloc, \
> > ...
> >
> > Anyone has some clever idea how to make this possible ?
Do this by moving the test into the tracepoint() macro.
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 16 Nov 2011 03:25:25 +0000 (22:25 -0500)]
Remove console output that should be turned into debug
But no debug log facility for this library which is included in
sessiond (yet).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 15 Nov 2011 22:03:15 +0000 (17:03 -0500)]
Document LGPL TRACEPOINT_CREATE_PROBES restrictions
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 15 Nov 2011 01:01:36 +0000 (20:01 -0500)]
tracepoint: support TP_ARGS(void)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.040102 seconds and 4 git commands to generate.