Add support for UST application registration
authorDavid Goulet <david.goulet@polymtl.ca>
Tue, 23 Aug 2011 17:56:15 +0000 (13:56 -0400)
committerDavid Goulet <david.goulet@polymtl.ca>
Thu, 25 Aug 2011 21:21:20 +0000 (17:21 -0400)
commit099e26bda04bd3e02eee5b0a17fc0d7f47e3f8ea
treefd24a43af4ad548235f2d07edf5767d6b9172440
parent3817e7df7aa29d8f52f1a4909b4fa6b660494323
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>
12 files changed:
configure.ac
include/lttng-sessiond-comm.h
include/lttng-ust.h
ltt-sessiond/Makefile.am
ltt-sessiond/futex.c [new file with mode: 0644]
ltt-sessiond/futex.h [new file with mode: 0644]
ltt-sessiond/ltt-sessiond.h
ltt-sessiond/main.c
ltt-sessiond/traceable-app.c
ltt-sessiond/traceable-app.h
ltt-sessiond/ust-comm.c [new file with mode: 0644]
ltt-sessiond/ust-comm.h [new file with mode: 0644]
This page took 0.02583 seconds and 4 git commands to generate.