lttng-ust.git
12 years agoAdd UST_DEBUG env. var. support
Mathieu Desnoyers [Tue, 9 Aug 2011 13:46:51 +0000 (09:46 -0400)] 
Add UST_DEBUG env. var. support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agolibust 2.0 + ringbuffer + TRACEPOINT_EVENT builds and runs
Mathieu Desnoyers [Mon, 8 Aug 2011 23:15:46 +0000 (19:15 -0400)] 
libust 2.0 + ringbuffer + TRACEPOINT_EVENT builds and runs

Missing pieces: Now libust needs to talk to the session daemon.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd ring buffer comment about shm
Mathieu Desnoyers [Thu, 4 Aug 2011 22:36:12 +0000 (18:36 -0400)] 
Add ring buffer comment about shm

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUse shm handle, fix allocation space, take care of alignment
Mathieu Desnoyers [Thu, 4 Aug 2011 21:05:42 +0000 (17:05 -0400)] 
Use shm handle, fix allocation space, take care of alignment

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoCommit changes prior to shmp read-only header
Mathieu Desnoyers [Thu, 4 Aug 2011 14:20:00 +0000 (10:20 -0400)] 
Commit changes prior to shmp read-only header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd float descriptions (metadata)
Mathieu Desnoyers [Wed, 3 Aug 2011 01:45:27 +0000 (21:45 -0400)] 
Add float descriptions (metadata)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoTRACEPOINT_EVENT: add floating point support
Mathieu Desnoyers [Wed, 3 Aug 2011 01:36:22 +0000 (21:36 -0400)] 
TRACEPOINT_EVENT: add floating point support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix context order
Mathieu Desnoyers [Thu, 28 Jul 2011 14:52:04 +0000 (10:52 -0400)] 
Fix context order

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate tracepoint header comments
Mathieu Desnoyers [Wed, 27 Jul 2011 19:07:25 +0000 (15:07 -0400)] 
Update tracepoint header comments

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoChange tracepoint.h header
Mathieu Desnoyers [Wed, 27 Jul 2011 18:49:40 +0000 (14:49 -0400)] 
Change tracepoint.h header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoTRACEPOINT_EVENT API
Mathieu Desnoyers [Wed, 27 Jul 2011 18:10:36 +0000 (14:10 -0400)] 
TRACEPOINT_EVENT API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoltt-context: document that pointers may change
Mathieu Desnoyers [Wed, 27 Jul 2011 14:42:06 +0000 (10:42 -0400)] 
ltt-context: document that pointers may change

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agocontext: document and check that only last context is removed
Mathieu Desnoyers [Wed, 27 Jul 2011 14:40:13 +0000 (10:40 -0400)] 
context: document and check that only last context is removed

Merge from lttng-modules:

commit 4cae220c1be2cc73008603a21152fce7643cfc35
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date:   Sat Jul 23 12:37:54 2011 -0400

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix git URL
Yannick Brosseau [Mon, 25 Jul 2011 18:56:16 +0000 (14:56 -0400)] 
Fix git URL

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoImplement multi-session registry
Mathieu Desnoyers [Sun, 17 Jul 2011 14:13:49 +0000 (10:13 -0400)] 
Implement multi-session registry

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoimplement ring buffer clients
Mathieu Desnoyers [Sat, 16 Jul 2011 18:44:09 +0000 (14:44 -0400)] 
implement ring buffer clients

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoResync with kernel LTTng headers
Mathieu Desnoyers [Sat, 16 Jul 2011 17:30:24 +0000 (13:30 -0400)] 
Resync with kernel LTTng headers

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoLib ring buffer: use TLS for nesting count
Mathieu Desnoyers [Sat, 16 Jul 2011 17:06:06 +0000 (13:06 -0400)] 
Lib ring buffer: use TLS for nesting count

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRing buffer: use shmp (shared-memory pointers) for per-channel shm structures
Mathieu Desnoyers [Mon, 4 Jul 2011 17:03:45 +0000 (13:03 -0400)] 
Ring buffer: use shmp (shared-memory pointers) for per-channel shm structures

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoPort ring buffer to userspace, part 1
Mathieu Desnoyers [Mon, 27 Jun 2011 19:24:39 +0000 (15:24 -0400)] 
Port ring buffer to userspace, part 1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMerge LTTng commit 360f38ea4fee91e2403c03cb43841ef6769aaac7
Mathieu Desnoyers [Mon, 27 Jun 2011 16:07:49 +0000 (12:07 -0400)] 
Merge LTTng commit 360f38ea4fee91e2403c03cb43841ef6769aaac7

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMerge LTTng commit 5c0552665e4d152e97edc995650711d4f6ac418d
Mathieu Desnoyers [Mon, 27 Jun 2011 16:06:28 +0000 (12:06 -0400)] 
Merge LTTng commit 5c0552665e4d152e97edc995650711d4f6ac418d

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMerge LTTng commit c6485006a92b1b86fbb48c2b277732d3405295c9
Mathieu Desnoyers [Mon, 27 Jun 2011 16:05:27 +0000 (12:05 -0400)] 
Merge LTTng commit c6485006a92b1b86fbb48c2b277732d3405295c9

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMerge LTTng commit e64957da15e3652322dcf6a5389beb01901de8e6
Mathieu Desnoyers [Mon, 27 Jun 2011 16:04:33 +0000 (12:04 -0400)] 
Merge LTTng commit e64957da15e3652322dcf6a5389beb01901de8e6

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoBuild libringbuffer, remove kernel includes
Mathieu Desnoyers [Mon, 27 Jun 2011 16:02:21 +0000 (12:02 -0400)] 
Build libringbuffer, remove kernel includes

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoInitial addition of lttng ring buffer clients
Mathieu Desnoyers [Thu, 16 Jun 2011 19:38:22 +0000 (15:38 -0400)] 
Initial addition of lttng ring buffer clients

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoadd ltt-probes.c
Mathieu Desnoyers [Thu, 16 Jun 2011 19:37:16 +0000 (15:37 -0400)] 
add ltt-probes.c

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd event and context files
Mathieu Desnoyers [Thu, 16 Jun 2011 19:36:27 +0000 (15:36 -0400)] 
Add event and context files

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd alignment header
Mathieu Desnoyers [Thu, 16 Jun 2011 19:33:48 +0000 (15:33 -0400)] 
Add alignment header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd bug management header
Mathieu Desnoyers [Thu, 16 Jun 2011 19:33:33 +0000 (15:33 -0400)] 
Add bug management header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd bitfield header
Mathieu Desnoyers [Thu, 16 Jun 2011 19:33:23 +0000 (15:33 -0400)] 
Add bitfield header

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agolttng priority heap initial import
Mathieu Desnoyers [Thu, 16 Jun 2011 19:29:38 +0000 (15:29 -0400)] 
lttng priority heap initial import

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agolib ring buffer initial import
Mathieu Desnoyers [Thu, 16 Jun 2011 19:29:28 +0000 (15:29 -0400)] 
lib ring buffer initial import

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMore removal
Mathieu Desnoyers [Thu, 16 Jun 2011 19:24:23 +0000 (15:24 -0400)] 
More removal

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMove away headers that will be deprecated
Mathieu Desnoyers [Thu, 16 Jun 2011 19:09:17 +0000 (15:09 -0400)] 
Move away headers that will be deprecated

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMove away files that will be deprecated
Mathieu Desnoyers [Thu, 16 Jun 2011 18:59:54 +0000 (14:59 -0400)] 
Move away files that will be deprecated

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix compilation with uclibc
Mathieu Desnoyers [Mon, 13 Jun 2011 14:24:46 +0000 (10:24 -0400)] 
Fix compilation with uclibc

Reported-by: Khem Raj <raj.khem@gmail.com>
Reported-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRemove execinfo.h include
Mathieu Desnoyers [Mon, 13 Jun 2011 14:19:46 +0000 (10:19 -0400)] 
Remove execinfo.h include

Not required, and breaks uclibc build.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate changelog and version to UST 0.14
Mathieu Desnoyers [Sun, 12 Jun 2011 16:19:41 +0000 (12:19 -0400)] 
Update changelog and version to UST 0.14

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate info page for 0.14 API
Mathieu Desnoyers [Sun, 12 Jun 2011 16:19:26 +0000 (12:19 -0400)] 
Update info page for 0.14 API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoDisable exit fast test (known issue)
Mathieu Desnoyers [Fri, 10 Jun 2011 22:40:02 +0000 (18:40 -0400)] 
Disable exit fast test (known issue)

Disable this test before the release, as we are working on a solution
that involves redesign of the way libust is controlled (synchronization
with a lttng-tools session daemon). We don't want to flood testers with
known issues.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate to urcu/ref.h and urcu/uatomic.h
Mathieu Desnoyers [Fri, 10 Jun 2011 22:21:21 +0000 (18:21 -0400)] 
Update to urcu/ref.h and urcu/uatomic.h

liburcu 0.6 is changing the name of these two headers.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate dependency to liburcu 0.6
Mathieu Desnoyers [Thu, 9 Jun 2011 16:52:45 +0000 (12:52 -0400)] 
Update dependency to liburcu 0.6

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate liburcu version check
Mathieu Desnoyers [Thu, 9 Jun 2011 15:27:11 +0000 (11:27 -0400)] 
Update liburcu version check

liburcu symbols have changed (_bp suffix added for the -bp flavor used
by UST), and we now depend on urcu 0.5.5 for struct rcu_head definition.
Therefore, check for synchronize_rcu_bp and call_rcu_bp.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate following liburcu changes
Mathieu Desnoyers [Thu, 9 Jun 2011 00:42:46 +0000 (20:42 -0400)] 
Update following liburcu changes

Addition of call_rcu in liburcu deprecates the simple.h kcompat header.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd a version.h header
Yannick Brosseau [Wed, 1 Jun 2011 15:06:32 +0000 (11:06 -0400)] 
Add a version.h header

It contains the major and minor version numbers

[ edit: coding style fixes by Mathieu Desnoyers ]

Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd pkg-config file generation
Yannick Brosseau [Wed, 1 Jun 2011 15:01:16 +0000 (11:01 -0400)] 
Add pkg-config file generation

Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate note in buffer.c
Mathieu Desnoyers [Fri, 20 May 2011 20:33:52 +0000 (16:33 -0400)] 
Update note in buffer.c

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRemove installed headers, cleanup header names
Mathieu Desnoyers [Fri, 20 May 2011 20:11:13 +0000 (16:11 -0400)] 
Remove installed headers, cleanup header names

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix make check includes
Mathieu Desnoyers [Fri, 20 May 2011 19:29:42 +0000 (15:29 -0400)] 
Fix make check includes

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoCleanup leftover UST comments, add comments about current implementation limitations
Mathieu Desnoyers [Fri, 20 May 2011 17:58:06 +0000 (13:58 -0400)] 
Cleanup leftover UST comments, add comments about current implementation limitations

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoTRACEPOINT_EVENT: standardize locking wrt tracepoints and markers
Mathieu Desnoyers [Fri, 20 May 2011 17:22:08 +0000 (13:22 -0400)] 
TRACEPOINT_EVENT: standardize locking wrt tracepoints and markers

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoTracepoints and markers: cleanup init, add missing mutex lock/unlock
Mathieu Desnoyers [Fri, 20 May 2011 17:11:42 +0000 (13:11 -0400)] 
Tracepoints and markers: cleanup init, add missing mutex lock/unlock

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMarkers: sync from LTTng 0.249 marker code
Mathieu Desnoyers [Thu, 19 May 2011 22:29:38 +0000 (18:29 -0400)] 
Markers: sync from LTTng 0.249 marker code

- Add missing mutexes.
- Cleanup RCU usage.
- Remove unused code.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoPrivatize headers
Mathieu Desnoyers [Thu, 19 May 2011 21:03:11 +0000 (17:03 -0400)] 
Privatize headers

Remove most installed headers, which should be internal. The header
kcompat (kernel-style compatibility header) only makes sense within the
UST package: this should never be exported, nor be included into
instrumented applications.

Move the type-serializer header back into libust/. It is so internal it
does not even belong to include/ust/.

Standardize all the installed headers on non-kcompat style: use uint64_t
instead of u64 for types, open-code likely/unlikely.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAdd Maintainer and Mailing list contact information to README
Mathieu Desnoyers [Thu, 19 May 2011 19:49:37 +0000 (15:49 -0400)] 
Add Maintainer and Mailing list contact information to README

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoChange libtap.so to a local static library which is not installed
Yannick Brosseau [Thu, 19 May 2011 19:39:29 +0000 (15:39 -0400)] 
Change libtap.so to a local static library which is not installed

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoPrivatize part of marker.h, and type-serializer.h
Mathieu Desnoyers [Thu, 19 May 2011 16:02:19 +0000 (12:02 -0400)] 
Privatize part of marker.h, and type-serializer.h

The current interface we publish is ust_marker(), tracepoint() and
TRACEPOINT_EVENT() (and associated _NOARGS, CLASS, INSTANCE and
TRACEPOINT_CREATE_PROBES). Besides that, consider any lower-level API
showing the UST internals as, well, internal.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoTracepoint and TRACEPOINT_EVENT API cleanup
Mathieu Desnoyers [Thu, 19 May 2011 15:29:57 +0000 (11:29 -0400)] 
Tracepoint and TRACEPOINT_EVENT API cleanup

We want to move towards a TRACEPOINT_EVENT-based API only, so start
cleaning up right now.

Prefix with _ or __ all members that are internal to UST. Move all the
non-exported API members (that don't need to be around in program
inclusion) to tracepoint-internal.h (which is not meant to be installed
on the system).

Unit tests can still use the internal API members for now, but should
gradually move to use TRACEPOINT_EVENT as we start implementing the
FIELDS() declaration.

TRACEPOINT_EVENT is changed from the kernel incarnation (TRACE_EVENT):
we take only 3 arguments: proto, args and fields. The "fields" describe
the event layout _and_ targets the data source.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMark old trace_mark API deprecated (gcc attribute)
Mathieu Desnoyers [Thu, 19 May 2011 13:31:38 +0000 (09:31 -0400)] 
Mark old trace_mark API deprecated (gcc attribute)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoversion update to 0.13
Nils Carlson [Thu, 19 May 2011 07:32:10 +0000 (09:32 +0200)] 
version update to 0.13

12 years agoChangeLog updates for 0.13 v2
Nils Carlson [Wed, 18 May 2011 20:00:59 +0000 (22:00 +0200)] 
ChangeLog updates for 0.13 v2

12 years agoadd missing usterr_signal_safe.h to makefile
Nils Carlson [Thu, 19 May 2011 07:43:16 +0000 (09:43 +0200)] 
add missing usterr_signal_safe.h to makefile

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
12 years agoNew fast-exit test-case
Nils Carlson [Tue, 17 May 2011 13:16:47 +0000 (15:16 +0200)] 
New fast-exit test-case

A fast-exit test-case that just writes one marker and exits,
tests that the consumer daemon maps the buffers before the
program exits. Exiting is tested both by normal return
and by commiting suicide (SIGKILL to self).

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoMake libustctl list only online pids v3
Nils Carlson [Mon, 16 May 2011 13:57:15 +0000 (15:57 +0200)] 
Make libustctl list only online pids v3

Changes since v2:
Botox.

Changes since v1:
Cosmetic surgery at a european cost

Previously libustctl would list all pids. This patch changes this
so only online pids are listed. This is done by appending on each
socket name the mtime from the proc/<pid> directory. This way a
socket can be checked to see if the appended mtime matches the
mtime of the proc dir for the current pid, thus allowing us to
distinguish between old and new socket files.

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agochange runtests GPL version
Nils Carlson [Fri, 6 May 2011 12:32:54 +0000 (14:32 +0200)] 
change runtests GPL version

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoarmv5 archs require write alignment
Jason Wessel [Wed, 4 May 2011 19:35:20 +0000 (15:35 -0400)] 
armv5 archs require write alignment

Reads and writes to unsigned int 32 bit numbers must be address
aligned or the l2 cache can return junk in the high order 16 bits on
reads.

This patch activates the original work done for alignment in ltt for
the UST code.  The config.ac changes will isolate the use of alignment
to the known arch type with the problem.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoOnly ignore the top config.h.in
Jason Wessel [Wed, 4 May 2011 19:32:59 +0000 (15:32 -0400)] 
Only ignore the top config.h.in

Only he top config.h.in is autogenerated the include/ust/config.h.in
is a source controled file.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoadd mips support
Jason Wessel [Tue, 26 Apr 2011 21:55:55 +0000 (23:55 +0200)] 
add mips support

The recent changes to UST make it trivial to add MIPS support.

The trick for MIPS is that there are many different library formats
and the gcc 4.x compiler will correctly choose the default one so long
as the libust.ldscript.in does not not make a reference to the library
format.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agosupport busybox for manual trace tests
Jason Wessel [Wed, 27 Apr 2011 20:22:16 +0000 (22:22 +0200)] 
support busybox for manual trace tests

The busybox version of find does not support using -L, and it does not
appear to be needed in order to pass the test.  In the interest of
being able to run internal UST tests on a busybox based rootfs,
appropriately detect if -L is available as an argument to find and use
it when it is available.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoust-consumerd: fix exit race log corruption
Jason Wessel [Wed, 27 Apr 2011 20:22:15 +0000 (22:22 +0200)] 
ust-consumerd: fix exit race log corruption

In the following scenario on an SMP system the ust-consumerd can end
up not properly closing out file handles which leads to log
corruption:
  * usttrace -m -l small_quick_app_lots_of_malloc_and_free
  * The app completes and usttrace sees and sends the SIGTERM to ust-consumerd
  * The ust-consumerd main thread will exit and the _exit() handlers
    kills off the remaining pthreads without everything getting closed out

The solution to the problem is to introduce an active_thread count for
the private ustconsumer_instance.  This counter will be zeroed out
when it is safe to completely shutdown the main thread, which will
subsequently run the _exit() handlers.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoust-consumerd: fix exit race crashes
Jason Wessel [Wed, 27 Apr 2011 20:22:14 +0000 (22:22 +0200)] 
ust-consumerd: fix exit race crashes

The ust-consumerd gets shutdown by the SIGTERM signal and a number of
places in the ust-consumerd did not properly deal with the case where
a system call returns EINTR in errno as a result of a signal to the
process.  The failure to handle EINTR properly was leading to some
data corruption in the buffer code and causing some random "victim"
crashes in lowlevel.c

The way all the offending functions were tracked down was to
temporarily add an abort() in the SIGTERM signal handler.  Then it was
a matter of looking at what threads were blocked on system calls at
the time outside of the thread that received the signal.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoMarkers: temporarily remove GDB support
Mathieu Desnoyers [Tue, 26 Apr 2011 21:31:35 +0000 (17:31 -0400)] 
Markers: temporarily remove GDB support

Remove GDB support temporarily, awaiting a better implementation that
does not require so much asm trickery. Imported the kernel LTTng code
back into UST to use C declarations for the marker structures.

The plan is to move to a SDT-based implementation (using variable
number of arguments).

This patch is required to make the MIPS port work. Tested by Jason
Wessel.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tested-by: Jason Wessel <jason.wessel@windriver.com>
13 years agoTracepoint: make tracepoint ptrs section rw
Mathieu Desnoyers [Tue, 26 Apr 2011 16:18:45 +0000 (12:18 -0400)] 
Tracepoint: make tracepoint ptrs section rw

The pointer section needs to be rw so that the linker can update the
pointers at link-time, thus allowing the code to be compiled with -fPIC.

The previous behavior would cause section flag mismatch, because
TRACEPOINT_LIB declared the ptr with "= NULL", which is not a void *
const, but rather a void *, which forces the element it is assigned to
to become non-const.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoAdd missing string.h include in libustctl_function_tests
Mathieu Desnoyers [Tue, 26 Apr 2011 15:52:31 +0000 (11:52 -0400)] 
Add missing string.h include in libustctl_function_tests

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMarkers: ust_marker_[A-Z] -> UST_MARKER_[A-Z] cleanup
Mathieu Desnoyers [Mon, 25 Apr 2011 19:02:50 +0000 (15:02 -0400)] 
Markers: ust_marker_[A-Z] -> UST_MARKER_[A-Z] cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMarkers: Add MARKER_LIB backward compatibility
Mathieu Desnoyers [Mon, 25 Apr 2011 17:53:18 +0000 (13:53 -0400)] 
Markers: Add MARKER_LIB backward compatibility

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMarkers: trace_mark should not pass "ust" to ust_mark
Mathieu Desnoyers [Mon, 25 Apr 2011 17:44:46 +0000 (13:44 -0400)] 
Markers: trace_mark should not pass "ust" to ust_mark

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMarkers: fix compatility trace_mark
Mathieu Desnoyers [Mon, 25 Apr 2011 17:38:52 +0000 (13:38 -0400)] 
Markers: fix compatility trace_mark

When providing no args, we need to paste args with ## args.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoAdd MARK_NOARGS compatibility API, marked for deprecation.
Mathieu Desnoyers [Mon, 25 Apr 2011 17:34:40 +0000 (13:34 -0400)] 
Add MARK_NOARGS compatibility API, marked for deprecation.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoAdd "trace_mark()" compatibility API (progressive deprecation)
Mathieu Desnoyers [Mon, 25 Apr 2011 17:25:41 +0000 (13:25 -0400)] 
Add "trace_mark()" compatibility API (progressive deprecation)

Add back the trace_mark() API for backward compability, tagging it as
being slowly being deprecated.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoUpdate manual
Mathieu Desnoyers [Fri, 22 Apr 2011 18:25:49 +0000 (14:25 -0400)] 
Update manual

Update info manual to reflect the latest instrumentation API changes for
both tracepoints and markers.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoTracepoints: Introduce DEFINE/DECLARE_TRACEPOINT, TRACEPOINT_EVENT...
Mathieu Desnoyers [Fri, 22 Apr 2011 18:22:44 +0000 (14:22 -0400)] 
Tracepoints: Introduce DEFINE/DECLARE_TRACEPOINT, TRACEPOINT_EVENT...

* Instrumentation API change *

Introduce the upcoming "TRACEPOINT_EVENT" API:

TRACEPOINT_EVENT
TRACEPOINT_CREATE_PROBES
TRACEPOINT_EVENT_LIB

And move the current tracepoint declaration/definition to a more
standard name (these will become internal API when we switch to
TRACEPOINT_EVENT):

DEFINE_TRACEPOINT
DECLARE_TRACEPOINT

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoRemove #define _LGPL_SOURCE from public headers
Mathieu Desnoyers [Fri, 22 Apr 2011 17:19:18 +0000 (13:19 -0400)] 
Remove #define _LGPL_SOURCE from public headers

this header can be included by non-LGPL applications. Ensure that
use it.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMarkers: make __ust_marker_ptrs PIC
Mathieu Desnoyers [Tue, 19 Apr 2011 01:21:31 +0000 (21:21 -0400)] 
Markers: make __ust_marker_ptrs PIC

> As I prepared the 0.12 release for Debian, I noticed that libust.so was
> not PIC:
>
>     $ readelf -d libust/.libs/libust.so.0.0.0 | grep TEXTREL
>     0x0000000000000016 (TEXTREL)            0x0
>
> Since all of the objects in libust are built with -fPIC, I thought
> perhaps there was some assembly added between 0.11 and 0.12 that
> contained text relocations. I bisected the two tags down to the
> offending commit:
>
>     eb5d20c68aaf73661ffc02ba8fea3683c0358702
>
> Within that commit, it seems to be a problem in include/ust/marker.h
> with these lines:
>
> @@ -129,7 +124,12 @@ struct marker {
> [...]
> +                       /*".section __markers_ptrs\n\t"*/ \
> +                       ".section __markers_ptrs,\"a\",@progbits\n\t"                           \
>
> If I make the __markers_ptrs section writable, with:
>
>                         ".section __markers_ptrs,\"aw\"\n\t
>
> TEXTREL goes away and everything seems okay, tests pass. Is this
> a correct solution? I don't understand why the section must be writable
> to avoid relocations, can anyone explain?

Oh.. I think I see. __markers_ptrs contains pointers to another section
that must be populated by the dynamic linker (thus at runtime). If the
section is read-only, the linker cannot update them at load time, so a
relocation table is probably needed.

Reported-by: Jon Bernard <jbernard@debian.org>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoLGPLv2.1 relicensing agreements
Mathieu Desnoyers [Wed, 13 Apr 2011 20:45:38 +0000 (16:45 -0400)] 
LGPLv2.1 relicensing agreements

Steven just stated clearly that he only accepts relicencing to
LGPLv2.1 (not later). So I think we might have been interpreting his
previous acceptance a little too broadly when specifying "LGPLV2.1+".
Change the licensing text to reflect this.

If some of the contributors specifically said they were OK with "or
later", we could add this back upon rechecking their original acceptance
email. The pointers to the original public emails should have been
present in the relicensing file to make our current job easier, but this
is unfortunately not the case.

Also updated the stringify.h, tracepoint.c, marker.c and trace_event.c
files.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoTracepoints: namespace cleanups
Mathieu Desnoyers [Wed, 13 Apr 2011 20:17:57 +0000 (16:17 -0400)] 
Tracepoints: namespace cleanups

All internal symbols, no API change. Enforce "tracepoint_" or "tp_"
prefixes to local symbols, as well as rename struct probes to struct
tracepoint_probes.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoRemove "struct module" from tracepoint.h (unused)
Mathieu Desnoyers [Wed, 13 Apr 2011 20:00:34 +0000 (16:00 -0400)] 
Remove "struct module" from tracepoint.h (unused)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoRemove immediate values code (non-effective anyway)
Mathieu Desnoyers [Wed, 13 Apr 2011 19:57:39 +0000 (15:57 -0400)] 
Remove immediate values code (non-effective anyway)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMarkers: Namespace cleanup, with API change.
Mathieu Desnoyers [Wed, 13 Apr 2011 19:45:48 +0000 (15:45 -0400)] 
Markers: Namespace cleanup, with API change.

** API change: MARK_NOARGS becomes UST_MARKER_NOARGS **

Cleanup the "marker" namespace by using "ust_marker/UST_MARKER".

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoTest empty argument tracepoint
Mathieu Desnoyers [Wed, 13 Apr 2011 18:01:01 +0000 (14:01 -0400)] 
Test empty argument tracepoint

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoTracepoints: add noargs support
Mathieu Desnoyers [Wed, 13 Apr 2011 18:00:21 +0000 (14:00 -0400)] 
Tracepoints: add noargs support

Add support for tracepoints receiving no argument as parameters. Copied
from Linux kernel:

commit 38516ab59fbc5b3bb278cf5e1fe2867c70cff32e
Author: Steven Rostedt <srostedt@redhat.com>
Date:   Tue Apr 20 17:04:50 2010 -0400

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Nils Carlson <nils.carlson@ericsson.com>
CC: Steven Rostedt <rostedt@goodmis.org>
13 years agoTracepoints: add wrapper tracepoint() macro
Mathieu Desnoyers [Wed, 13 Apr 2011 17:59:16 +0000 (13:59 -0400)] 
Tracepoints: add wrapper tracepoint() macro

** Instrumentation API change **

Moving tracepoints from

trace_name(args)
register_trace_name(...)
unregister_trace_name(...)

to

tracepoint(name, args)
register_tracepoint(name, ...)
unregister_tracepoint(name, ...)

This will allow doing macro tricks at the "tracepoint()" macro expansion
site. This will be useful for integration with SystemTAP probes, which
needs to expand an inline assembly with constraints on the arguments.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Nils Carlson <nils.carlson@ericsson.com>
CC: Steven Rostedt <srostedt@redhat.com>
CC: Josh Stone <jistone@redhat.com>
13 years agoMarkers: API change: rename trace_mark() to ust_marker()
Mathieu Desnoyers [Wed, 13 Apr 2011 17:46:23 +0000 (13:46 -0400)] 
Markers: API change: rename trace_mark() to ust_marker()

Given that the markers will stay as debug-only "quick and dirty"
tracing interface, make them UST-specific. Make it clear by turning the
API to ust_marker().

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMerge branch 'master' of ssh://git.lttng.org/home/git/ust
Mathieu Desnoyers [Wed, 13 Apr 2011 17:28:53 +0000 (13:28 -0400)] 
Merge branch 'master' of ssh://git.lttng.org/home/git/ust

13 years agoFix up all use of /dev/stderr for portability to busybox /bin/sh
Jason Wessel [Tue, 12 Apr 2011 19:11:36 +0000 (21:11 +0200)] 
Fix up all use of /dev/stderr for portability to busybox /bin/sh

The typical shell on a small embedded target using busybox does
not have support for /dev/stderr.  A more portable way to send
output to stderr with echo is to redirect stdout to stderr with
1>&2.

In the usttrace script it did something that was effectively
a NOP.  The result of echo "" 2>/dev/stderr is not actually
going to send anything to stderr because the echo is going
to write to stdout.  This case was also fixed.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoMarkers: remove channel name from trace_mark()
Mathieu Desnoyers [Sun, 10 Apr 2011 22:15:40 +0000 (15:15 -0700)] 
Markers: remove channel name from trace_mark()

*** This is an instrumentation API change ***

Given that UST will gradually move to a scheme where channels are
dynamically associated with markers on a per tracing session basis (and
thus associated dynamically rather than fixed statically), it does not
make sense to specify the "channel name" in addition to the marker name
in the trace_mark() arguments.

API touched:

GET_MARKER()
DEFINE_MARKER()
DEFINE_MARKER_TP()
trace_mark()
_trace_mark()

I'm introducing this API change without changing the underlying
implementation, trying to minimize the impact of API changes by doing
them sooner than later.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agoMake only libust and libustconsumer use a signal safe usterr.h
Nils Carlson [Mon, 4 Apr 2011 10:49:56 +0000 (12:49 +0200)] 
Make only libust and libustconsumer use a signal safe usterr.h

Copy usterr.h to usterr_signal_safe.h and rewrite those parts of
usterr.h that depended on libustsnprintf. This removes the dependency
on libustsnprintf from all parts of ust except libust.

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
13 years agolibustctl: cleanup ustctl_get_online_pids functions
Nils Carlson [Fri, 1 Apr 2011 12:38:38 +0000 (14:38 +0200)] 
libustctl: cleanup ustctl_get_online_pids functions

Cleanup the ustctl_get_online_pids functions, checking more errors
and making the allocation strategy sane.

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
13 years agoMake root able to connect to any traceable app
Nils Carlson [Thu, 31 Mar 2011 08:25:11 +0000 (10:25 +0200)] 
Make root able to connect to any traceable app

Make root able to connect to any traceable app, checking
(geteuid == 0).

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
This page took 0.041377 seconds and 4 git commands to generate.