Move LTTng-UST buffer ownership from application to consumer
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 29 Jan 2013 22:40:18 +0000 (17:40 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 15 Feb 2013 16:07:05 +0000 (11:07 -0500)
commit74d81a6cca2cd4a7718bba9368f382f9f2fbba84
tree607041c765286d1ea8bcc52396211936158778c1
parent00b217e613614b8addc4ee2bbcdec473275842fd
Move LTTng-UST buffer ownership from application to consumer

Before this change, applications were performing allocation and teardown
of their buffers. Applications therefore had ownership of the buffers.
The shm and wait fd were passed from applications, though sessiond, to
consumerd through unix sockets.

This change moves ownership of buffers from applications to consumer.
This will allow sharing buffers across many processes in a near future.
It will also facilitate implementation of periodical timers on the
consumer side, now that it has ownership of channels and buffers
(also called streams). This imply that file descriptors on shm and
wakeup end of the pipe are now passed from the consumerd to sessiond,
then to applications, through unix sockets. Then, applications "map"
channel and streams into their own memory space. Channel control
structure is actually a copy for each application, while streams are a
shared memory map (shm) between consumerd and all applications that
write into it, and have a wake up file descriptor on the application
side.

Dependency on libuuid is now removed from lttng-ust, and moved to
lttng-tools, since the UUID is needed at channel and buffer allocation.

This commit needs to be used along with commit named
"Move LTTng-UST buffer ownership from application to consumer" in
lttng-tools.

Reviewed-by: David Goulet <dgoulet@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
28 files changed:
README
configure.ac
include/lttng/ust-abi.h
include/lttng/ust-ctl.h
include/lttng/ust-error.h
include/lttng/ust-events.h
include/ust-comm.h
liblttng-ust-comm/lttng-ust-comm.c
liblttng-ust-ctl/Makefile.am
liblttng-ust-ctl/ust-ctl-private.h [new file with mode: 0644]
liblttng-ust-ctl/ustctl.c
liblttng-ust/Makefile.am
liblttng-ust/lttng-events.c
liblttng-ust/lttng-ring-buffer-client.h
liblttng-ust/lttng-ring-buffer-metadata-client.h
liblttng-ust/lttng-tracer-core.h
liblttng-ust/lttng-ust-abi.c
liblttng-ust/lttng-ust-comm.c
liblttng-ust/lttng-ust-uuid.h
libringbuffer/frontend.h
libringbuffer/frontend_internal.h
libringbuffer/frontend_types.h
libringbuffer/ring_buffer_backend.c
libringbuffer/ring_buffer_frontend.c
libringbuffer/shm.c
libringbuffer/shm.h
libringbuffer/shm_types.h
tests/Makefile.am
This page took 0.029273 seconds and 4 git commands to generate.