lttng-ust:stable-2.11

Last commit made on 2019-08-02
Get this branch:
git clone -b stable-2.11 https://git.launchpad.net/lttng-ust

Branch merges

Branch information

Name:
stable-2.11
Repository:
lp:lttng-ust

Recent commits

b8687c1... by Mathieu Desnoyers on 2019-08-02

Fix: don't wait for initial statedump when 0 session active

commit eb0e6022d5e2 "Fix: wait for initial statedump before proceeding
to the main program"

introduced a regression when an application interacts with a session
daemon which has 0 session active.

An application linked against lttng-ust started with
LTTNG_UST_REGISTER_TIMEOUT=-1 hangs forever.

Fix this by decrementing the semaphore if no statedump was requested
when the registration done command is received.

Signed-off-by: Mathieu Desnoyers <email address hidden>

e85887f... by Gabriel-Andrew Pollo-Guilbert <email address hidden> on 2019-07-29

Fix: wait for initial statedump before proceeding to the main program

In the case of short lived applications, the application may exit before
the initial statedump has completed.

Higher-level trace analysis features such as translating addresses to
symbols rely on statedump. That information is required for those
analyses to work on such short-lived applications.

Force the statedump to occur before handing the control to the
application.

Fixes #1190

Signed-off-by: Gabriel-Andrew Pollo-Guilbert <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

31dccd4... by Jonathan Rajotte on 2019-07-29

Use MAP_POPULATE to reduce pagefault when available

Any ring buffer configuration bigger than PAGE_SIZE would result
in an increased latency for the first tracepoint hit (1200ns) landing on a
new PAGE_SIZE sized chunk of the mapped memory. This happens at least
for the first ring buffer traversal.

To alleviate this we can use MAP_POPULATE that will "prefault" the page
tables.

A similar flag seems to exist on freebsd (MAP_PREFAULT_READ) but I do
not have access to a system to test it and ensure it does indeed results
in the same effect. It mostly indicates that it prefaults for the
read case so I doubt it is the case.

Default to using MAP_POPULATE on Linux only for now. Support of
prefaulting on other platforms will be added as needed.

Link: https://lists.lttng.org/pipermail/lttng-dev/2019-July/029116.html
Link: https://lists.lttng.org/pipermail/lttng-dev/2019-July/029122.html
Tested-by: Yiteng Guo <email address hidden>
Signed-off-by: Jonathan Rajotte <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

694f63c... by Gabriel-Andrew Pollo-Guilbert <email address hidden> on 2019-07-29

Fix: remove uninitialised value

Commit 973eac638e4fd introduces an uninitialised value that may prevent
shared memory from being allocated. The compiler didn't give any warning
because the pointer to the value is sent to a function that don't do anything
with it. We simply pass NULL to that function.

Signed-off-by: Gabriel-Andrew Pollo-Guilbert <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

d292c6e... by Gabriel-Andrew Pollo-Guilbert <email address hidden> on 2019-07-26

Fix: GCC unaligned pointer warnings

The release of GCC 9 added the following warning:

 -Waddress-of-packed-member, enabled by default, warns about an
 unaligned pointer value from the address of a packed member of a
 struct or union.

The warning is triggered in some place in LTTng-UST in cases where we
pass a pointer to get a result. Rather than passing the pointer directly
from the struct member, we get the result into a local storage, then
write into in the struct.

Signed-off-by: Gabriel-Andrew Pollo-Guilbert <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

3bb42c5... by Jonathan Rajotte on 2019-07-04

Fix: do not use diagnostic pragma when GCC version is lower than 4.6.0

Signed-off-by: Jonathan Rajotte <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

be23188... by Jonathan Rajotte on 2019-07-04

Fix: missing define when not building with gcc

Signed-off-by: Jonathan Rajotte <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

a5bebc9... by Mathieu Desnoyers on 2019-06-04

Fix: client_sequence_number may dereference NULL pointer

Found by Coverity:
CID 1400710 (#1 of 1): Dereference null return value (NULL_RETURNS)
3. dereference: Dereferencing a null pointer header.

Signed-off-by: Mathieu Desnoyers <email address hidden>

d0bbb1c... by Michael Jeanson <email address hidden> on 2019-06-03

Fix: namespace our gettid wrapper

Since glibc 2.30, a gettid wrapper was added that conflicts with our
static declaration. Namespace our wrapper so there is no conflict,
we'll add support for the glibc provided wrapper in a further commit.

Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

e143cbc... by Mathieu Desnoyers on 2019-05-24

Version 2.11.0-rc3

Signed-off-by: Mathieu Desnoyers <email address hidden>