David Goulet [Wed, 7 Sep 2011 19:50:08 +0000 (15:50 -0400)]
Add a safety check to nbfd of apps cmd pollfd
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 7 Sep 2011 16:26:13 +0000 (12:26 -0400)]
Add benchmark directory to git ignore
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 6 Sep 2011 21:10:42 +0000 (17:10 -0400)]
Fix pollfd update bug in thread_manage apps
When updating the pollfd array, the wrong pollfd size was used so at
multiple UST registration at the same time the socket was not added to
the poll list.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 1 Sep 2011 20:46:39 +0000 (16:46 -0400)]
Remove fork() for the wait shm creation process
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 1 Sep 2011 17:58:40 +0000 (13:58 -0400)]
Add the notify UST application scheme
This commit introduce the use of a wait shm futex that is used to notify
applications that the session daemon is running and ready to accept
registrations. See shm.c/.h for those calls and the new
futex_wait_update() in futex.c. This scheme is also found in lttng-ust
2.0 and mainly taken from there.
Also, enable-channel of the lttng client was modified to accept UST PID
domain. It's the first phase for testing UST features of the
liblttngctl.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Sun, 28 Aug 2011 21:29:40 +0000 (17:29 -0400)]
Update and fix UST register and session creation
The handling of the apps command pollfd, in the registration thread and
the update function, was incorrect. The update process, when
unregistring, was overwritting connected socket thus not being able to
monitor them with poll().
This is the first step forward to fully support LTTng UST tracer.
Add create UST session to ustctl and the session daemon. At this
commit, this feature is not used yet.
Move the register done command to ustctl. Adds the ustcomm_send_command
which returns the reply structure from the UST application.
The ustctl and ustcomm are cleaned up.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 20:20:03 +0000 (16:20 -0400)]
Merge branch 'master' of git://git.lttng.org/lttng-tools
David Goulet [Fri, 26 Aug 2011 18:42:07 +0000 (14:42 -0400)]
Better debug and fix an error handling
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Fri, 26 Aug 2011 17:52:32 +0000 (13:52 -0400)]
Merge branch 'master' of ssh://git.lttng.org/home/git/lttng-tools
David Goulet [Fri, 26 Aug 2011 17:15:37 +0000 (13:15 -0400)]
Fix missing headers
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 16:41:56 +0000 (12:41 -0400)]
Fix memory leaks and modify kernel session creation
Set the path of the kernel session in trace-kernel.c in order to
centralize that setup at only one place.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 16:23:22 +0000 (12:23 -0400)]
Add UST trace data structure and functions
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 16:27:29 +0000 (12:27 -0400)]
Fix tests to fit renaming
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 15:30:32 +0000 (11:30 -0400)]
Rename trace.c/.h to trace-kernel
Note that the file only contains evidently kernel data structures and
functions signatures.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 15:15:50 +0000 (11:15 -0400)]
Check declaration of futex_async and update urcu needed version
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Thu, 25 Aug 2011 21:51:38 +0000 (17:51 -0400)]
Init the kconsumerd error socket
The kconsumerd_error_socket must be initialised to a negative value when
we create the context, otherwise we don't know if it is defined or just
random.
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 21:36:04 +0000 (17:36 -0400)]
Update version to 2.0-pre12
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 21:34:59 +0000 (17:34 -0400)]
Fix missing header in Makefile.am
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 23 Aug 2011 17:56:15 +0000 (13:56 -0400)]
Add support for UST application registration
This is a big commit ;)
Introduce two new threads and one almost rewritten. The first thread
added is the one that manage UST registration. This thread is *very*
lightweight and, basically, receive the registration request, queue it
in a lock free queue and wake up the dispatch thread (second new thread)
using a N wakers / 1 waiters futex scheme.
This dispatch thread will then dequeue and notify the application thread
(that manages application registration and monitor UST sockets). The
notification consist of sending the dequeued node (command) to the
application thread pipe where the application thread is blocked on
poll().
For now, the registration is handle meaning that the application will
get added to the session daemon internal data structures, the daemon
will send a REGISTER_DONE command to the application and, finally, end
the communication by waiting for the UST reply of the previous command.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 23 Aug 2011 17:49:04 +0000 (13:49 -0400)]
Adding LTTng UST 2.0 ABI
Taken from the git head of UST.
Branch: lttng-ust-2.0
Commit id:
66c7df9e6c8b4e2ea609a7e3028346ada35ddaec
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 19:42:20 +0000 (15:42 -0400)]
Add NULL pointer check
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 19:21:18 +0000 (15:21 -0400)]
Fix AUTHORS
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 18:12:04 +0000 (14:12 -0400)]
Fix headers include and rename kernctl.h header
Move kernctl.h to lttng-kernel-ctl.h into the include directory.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 23 Aug 2011 18:24:42 +0000 (14:24 -0400)]
Cleanup comments and bad indent
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Sat, 20 Aug 2011 20:28:00 +0000 (16:28 -0400)]
Add missing error handling in liblttngctl
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 18:11:00 +0000 (14:11 -0400)]
thread_manage_apps: update and comment socket handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Fri, 19 Aug 2011 17:36:50 +0000 (13:36 -0400)]
Missing -k option in quickstart guide
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 17 Aug 2011 20:23:35 +0000 (16:23 -0400)]
Fix incorrect thread cleanup on blocking recv()
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 17 Aug 2011 20:15:01 +0000 (16:15 -0400)]
Fix tracing group spawning the session daemon
The check was incorrect for the session daemon path in the liblttngctl.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 17 Aug 2011 15:49:37 +0000 (11:49 -0400)]
Add lttng-modules detection for tests
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Tue, 16 Aug 2011 23:25:04 +0000 (19:25 -0400)]
Callbacks on receive and update FD
The user of the lib can now take control over a new FD or the update
operation of an existing FD.
Opening the output tracefile is now the responsiblity of the user
and not the library itself.
[ Edit by Mathieu Desnoyers: comment and teardown cleanups ]
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 20:46:27 +0000 (16:46 -0400)]
Parametrize enable-channel help
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Julien Desfossez [Tue, 16 Aug 2011 17:57:20 +0000 (13:57 -0400)]
Function to handle snapshots in liblttngkconsumerd
This patch adds the wrappers to take a snapshot for a specific FD and
to retrieve the produced position.
Also refactor the sync tracefile operation.
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 17:04:22 +0000 (13:04 -0400)]
Set default number of metadata subbuffers to 2
LTTng uses a wait/wakeup scheme when the metadata buffer is full, so
there is no need to waste memory.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 16:56:07 +0000 (12:56 -0400)]
Turn consumer "normal" error into debug statement (with comment)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Tue, 16 Aug 2011 14:24:51 +0000 (10:24 -0400)]
Send data to kconsumerd before tracing start
The metadata buffer of the kernel can get overflowed between the start
of the kernel consumer and the kernel start session. Sending the fds
before tracing start fix that problem.
Fixed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Tue, 16 Aug 2011 13:55:30 +0000 (09:55 -0400)]
Modify default kernel channel size/number
Too small kernel channels (4kB) leads to unwelcome delay at trace
indexing and adds buffer switch overhead. Use a default closer to the
0.x LTTng for buffer size:
256kB subbuffer
4 subbuffers/buffer
for 1MB per channel per CPU in normal tracing mode, and 1MB + 256kB per
channel per CPU in overwrite mode.
We currently plan to still use 4kB * 8 sub-buffers for UST because we
allocate these buffers per process, which makes memory consumption more
of a concern.
The metadata channel is kept small (4kB), but we keep a number of
subbuffer of 8 for now, as the behavior between "start" and spawning the
consumer is in the wrong order: we will need to spawn the consumer
before start is performed, because "start" returns blocks for 10 seconds
and returns an error if the buffers are too small to write metadata (and
they are not consumed).
Also fix a memory leak in init_default_channel.
process_client_msg() now uses a check / alloc / failure for channel
lookup rather than an endless retry, which could have led to denial of
service in case of internal error.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 13:18:36 +0000 (09:18 -0400)]
kconsumerd: fix infinite loop in splice handling of subbuf larger than 4k
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Mon, 15 Aug 2011 22:16:07 +0000 (18:16 -0400)]
Add kernel events tests
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 20:21:44 +0000 (16:21 -0400)]
Update tests EXTRA_DIST
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 20:18:34 +0000 (16:18 -0400)]
Add basic kernel tracing tests
This test is the basic use case of kernel tracing by creating a session,
enabling all events, tracing and destroying the session.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 20:14:45 +0000 (16:14 -0400)]
Continue parsing options for add-context on error
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 17:00:11 +0000 (13:00 -0400)]
Add runall.sh test script to distribution
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Sun, 14 Aug 2011 21:24:40 +0000 (17:24 -0400)]
Rename and export lib kernel consumer
The old liblttkconsumerd is renamed to liblttngkconsumerd and exported
publicly having the public header "lttng/lttng-kconsumerd.h".
To link with this library, use -llttngkconsumerd.
Every public functions now begins with the "lttng_" prefix to fit the
lttng public namespace.
Comments are changed also to fit 80 lines standard and the rest of the
git tree comments.
This complete renaming was motivated by the new tool made by Julien
Desfossez called 'lttngtop' which uses the kernel consumer library to
create a custom consumer. More works will add consumers in the lttv and
babeltrace projects.
Please see lttng.org to learn about lttngtop.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Sun, 14 Aug 2011 15:14:14 +0000 (11:14 -0400)]
Kconsumerd use the output parameter
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
David Goulet [Sat, 13 Aug 2011 17:49:19 +0000 (13:49 -0400)]
Fix bad channel output when sending to consumer
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 20:26:18 +0000 (16:26 -0400)]
Permit custom consumer registration to a session
Introduce the new API call lttng_register_consumer(...).
By giving a lttng_handle and a socket path, the fds will be sent to that
socket for the specific tracing session and domain. No kernel consumer
will be spawned by the session daemon for that session.
At this point, only kernel consumer is supported.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 21:56:34 +0000 (17:56 -0400)]
Fix missing file for make dist
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 21:00:33 +0000 (17:00 -0400)]
Fix copy_string dst validation
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:43:23 +0000 (14:43 -0400)]
Add tar and bz2 file to gitignore
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:34:55 +0000 (14:34 -0400)]
Update version to 2.0-pre11
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:38:01 +0000 (14:38 -0400)]
Fix makefile
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:12:55 +0000 (14:12 -0400)]
Change lttng API to use a lttng_handle
Introduce the lttng_handle structure that is now used by the API
containing the session name and lttng domain.
This removes multiple static variables of the library and makes it safe
for multithread tool to use the library.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Fri, 12 Aug 2011 14:45:28 +0000 (10:45 -0400)]
Cleanup mmap consuming
Only one mmap call per buffer, once the first mmap is done, we use the
offset to know where to start consuming the data.
When we receive the FD and its output mode is mmap, we mmap the buffer,
when it is closing, we munmap it.
Removed the manual padding handling because the kernel already exposes a
padded subbuffer.
Also updated the check of the return code of
kconsumerd_consumerd_recv_fd to be consistent with the rest of the code,
we are in error when it's < 0 not <= 0.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
Julien Desfossez [Fri, 12 Aug 2011 13:36:47 +0000 (09:36 -0400)]
Register the consuming function and add a library context
The init function of the library now takes a function as argument to
allow a consumer using the library to control the function to be called
when data is ready in a buffer.
The kconsumerd_on_read_subbuffer_mmap and
kconsumerd_on_read_subbuffer_splice are now exported to allow a consumer
to use them directly if needed.
Also the library has now a context, where all local parameters are
registered instead of static variables. That way, we can have multiple
callers using the library within the same process. Only the flag
indicating that all fds are closed remain global to the library and
shared among callers.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
Julien Desfossez [Fri, 12 Aug 2011 13:36:46 +0000 (09:36 -0400)]
Add doc to liblttkconsumerd.h
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 14:51:32 +0000 (10:51 -0400)]
Change kernel traces output directory
Adds the kernel/ directory level for kernel traces.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Thu, 11 Aug 2011 22:16:14 +0000 (18:16 -0400)]
Privatize lttng-sessiond-comm
With the intent of keeping libust, which is really an instrumentation
library, stand-alone, we prefer not to make it depend on a library from
the lttng-tools tree. Therefore, we privatize lttng-sessiond-comm, and
both package will interact through a communication protocol rather than
a shared library.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Thu, 11 Aug 2011 16:00:47 +0000 (12:00 -0400)]
Header cleanup and alignment fix
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 11 Aug 2011 15:47:38 +0000 (11:47 -0400)]
Fix wrong message with lttng list
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Wed, 10 Aug 2011 20:07:51 +0000 (16:07 -0400)]
kernel_list_events: fix file descriptor leak
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 10 Aug 2011 21:54:45 +0000 (17:54 -0400)]
Merge branch 'master' of ssh://git.lttng.org/home/git/lttng-tools
David Goulet [Wed, 10 Aug 2011 21:24:05 +0000 (17:24 -0400)]
Replace underscores of enable-channel options
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:57:40 +0000 (20:57 -0400)]
Version 2.0-pre10
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:46:35 +0000 (20:46 -0400)]
Remove "lib" prefix from .c/.h file names
This is uncommon. "lib" prefix is only needed for the library name.
Let's keep the lib prefix for source tree directory names for clarity
though.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:41:06 +0000 (20:41 -0400)]
Rename liblttsessiondcomm to liblttng-sessiond-comm, install it.
Install this library in the system, for UST.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:25:24 +0000 (20:25 -0400)]
Header Alignment Cleanups
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:18:19 +0000 (20:18 -0400)]
Move LTTNG_RUNDIR declaration to lttng/lttng-sessiond-comm.h
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:15:34 +0000 (20:15 -0400)]
header cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 00:12:46 +0000 (20:12 -0400)]
Fix all strncpy() usage: need to set a final \0 character at the end
strncpy does not necessarily set the last character to the null
terminating character. It must be done explicitly in case of overflow.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 23:54:04 +0000 (19:54 -0400)]
Install lttng/lttng-sessiond-comm.h into system
This header is needed by UST 2.0 for communication with the sessiond.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Simon Marchi [Mon, 8 Aug 2011 19:42:34 +0000 (15:42 -0400)]
Fix format string warnings
Print size_t as %zu.
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 17:58:29 +0000 (13:58 -0400)]
Cleanup libkernelctl API
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 16:08:46 +0000 (12:08 -0400)]
Version 2.0-pre9
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 16:07:40 +0000 (12:07 -0400)]
Don't print connect error upon failure
Used in normal operation, should not print error.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 15:40:41 +0000 (11:40 -0400)]
Version 2.0-pre8
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 15:08:29 +0000 (11:08 -0400)]
Cleanup compiler warnings
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 06:13:27 +0000 (02:13 -0400)]
Allow tracing group users to read trace files they generated
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 05:22:00 +0000 (01:22 -0400)]
Fix handling of sessiond respawn after a SIGKILL
Checking if the sessiond responds to connect() lets lttng / ltt-sessiond
check correctly if the socket files are stale files or actively used.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 04:31:41 +0000 (00:31 -0400)]
Safe list iteration in kconsumerd: protect against free()
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 04:29:01 +0000 (00:29 -0400)]
Add --verbose-kconsumerd option to sessiond
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 04:03:04 +0000 (00:03 -0400)]
ltt-sessiond teardown cleanup
ltt-sessiond now kills (SIGTERM) the kconsumerd before exiting, so the
LTTng module unload succeeds. Previously, the kconsumerd was still
holding a reference on ltt-relay.ko -- it was only being released after
ltt-sessiond closed its communication socket with kconsumerd.
Now, all the teardown actually wakes each thread, getting them to
return, and main() joins each of them before calling cleanup().
Previously, we had no guarantee that threads would not run concurrently
with cleanup() executed from the signal handler.
It would still be good to audit _each_ read call so we ensure that they
are performed on O_NONBLOCK fcntl fds (as we did in the kconsumerd), so
all the blocking is done in a poll() call, which can be woken up by the
sessiond termination file descriptor too (from the signal handler).
Failure to respect this could lead to races where sessiond blocks on a
file descriptor and never really honour the signal for a thread, thus
leading to blocking of the main() thread on a join.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 6 Aug 2011 18:57:08 +0000 (14:57 -0400)]
Version 2.0-pre7
Mathieu Desnoyers [Sat, 6 Aug 2011 18:21:51 +0000 (14:21 -0400)]
Add calibrate.txt
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 6 Aug 2011 18:04:46 +0000 (14:04 -0400)]
mkdir_recursive: keep original prototype
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 6 Aug 2011 17:55:23 +0000 (13:55 -0400)]
Cleanup mkdir_recursive indent
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 6 Aug 2011 15:05:04 +0000 (11:05 -0400)]
Make "please specify tracer" comment more helpful
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 6 Aug 2011 06:33:48 +0000 (02:33 -0400)]
Add calibrate command
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 6 Aug 2011 05:50:23 +0000 (01:50 -0400)]
Fix module unload order
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 5 Aug 2011 20:28:01 +0000 (16:28 -0400)]
Unload lttng modules when sessiond quits
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Thu, 4 Aug 2011 01:43:39 +0000 (21:43 -0400)]
Remove all remaining sessiond kernel command
All command now uses the lttng_domain
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 4 Aug 2011 01:21:12 +0000 (21:21 -0400)]
Change disable event command to be per domain
Removes LTTNG_KERNEL_DISABLE_EVENT and use a generic command based on
lttng domain.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 4 Aug 2011 01:03:27 +0000 (21:03 -0400)]
Remove path and session from session message
Replace the two by a lttng_session structure.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 4 Aug 2011 00:55:02 +0000 (20:55 -0400)]
Change disable channel command to be per domain
Removes LTTNG_KERNEL_DISABLE_CHANNEL and use a generic command based on
lttng domain.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 3 Aug 2011 22:50:13 +0000 (18:50 -0400)]
Rewrite the add context command of sessiond
Introduce context.c/.h which contains code to manage lttng context.
The add context command is now based on the lttng domain removing the
LTTNG_KERNEL_ADD_CONTEXT to simply LTTNG_ADD_CONTEXT.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 3 Aug 2011 21:23:56 +0000 (17:23 -0400)]
Remove session daemon kernel list events command
Replace this command by list tracepoints and use the domain for listing.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 3 Aug 2011 21:11:44 +0000 (17:11 -0400)]
Improve protection around strncpy and memcpy calls
Add copy_string which check for null pointer and add the null terminated
byte by default.
All pointer pass to memcpy are checked for null value.
All lttng_domain pointer are checked also for null value.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 3 Aug 2011 20:28:21 +0000 (16:28 -0400)]
Change list kernel events to list tracepoints
Remove lttng_list_kernel_events to lttng_list_tracepoints(domain).
Make it generic to lttng domain and specific for tracepoints which are
static instrumentation.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 3 Aug 2011 20:06:55 +0000 (16:06 -0400)]
Fix uninitialized variable
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 3 Aug 2011 19:56:54 +0000 (15:56 -0400)]
Improve the lttng list feature
Introduce three new functions to the public API which are
lttng_list_channels, lttng_list_events and lttng_list_domains.
Also add the lttng_list_kernel_events which list available tracing
events of the kernel.
Adds new options to the lttng list command for listing a lot more
details of a tracing session including channels, events and domains.
Also adds the enabled flag to the lttng_event and lttng_channel
structure.
Fix a bad pointer cast in list events.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
This page took 0.056398 seconds and 5 git commands to generate.