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:
This page took 0.028431 seconds and 4 git commands to generate.