[lttng-dev] Using lttng-ust with xenomai

Norbert Lange nolange79 at gmail.com
Fri Nov 22 04:14:42 EST 2019


I already started a thread over at xenomai.org [1], but I guess its
more efficient to ask here aswell.
The basic concept is that xenomai thread run *below* Linux (threads
and irg handlers), which means that xenomai threads must not use any
linux services like the futex syscall or socket communication.

## tracepoints

expecting that tracepoints are the only thing that should be used from
the xenomai threads, is there anything using linux services.
the "bulletproof" urcu apparently does not need anything for the
reader lock (aslong as the thread is already registered), but I dont
know how the write-buffers are prepared.

You can call linux sycalls from xenomai threads (it will switch to the
linux shadow thread for that and lose realtime characteristics), so a
one time setup/shutdown like registering the threads is not an issue.

## membarrier syscall

I haven't got an explanation yet, but I believe this syscall does
nothing to xenomai threads (each has a shadow linux thread, that is
*idle* when the xenomai thread is active).
liburcu has configure options allow forcing the usage of this syscall
but not disabling it, which likely is necessary for Xenomai.

Any input is welcome.
Kind regards, Norbert

[1] - https://xenomai.org/pipermail/xenomai/2019-November/042027.html

More information about the lttng-dev mailing list