lttng-modules:stable-2.7

Last commit made on 2016-10-13
Get this branch:
git clone -b stable-2.7 https://git.launchpad.net/lttng-modules

Branch merges

Branch information

Name:
stable-2.7
Repository:
lp:lttng-modules

Recent commits

1b02791... by Mathieu Desnoyers

Version 2.7.7

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

5ec0daf... by Mathieu Desnoyers

Fix: bump stable kernel version ranges for clock work-around

Linux commit 27727df240c7 ("Avoid taking lock in NMI path with
CONFIG_DEBUG_TIMEKEEPING"), changed the logic to open-code
the timekeeping_get_ns() function, but forgot to include
the unit conversion from cycles to nanoseconds, breaking the
function's output, which impacts LTTng.

We expected Linux commit 58bfea9532 "timekeeping: Fix
__ktime_get_fast_ns() regression" to make its way into stable
kernels promptly, but it appears new stable kernel releases were
done before the fix was cherry-picked from the master branch.

We therefore need to bump the version ranges for the work-around
in lttng-modules.

Signed-off-by: Mathieu Desnoyers <email address hidden>
CC: Greg Kroah-Hartman <email address hidden>
CC: John Stultz <email address hidden>

f6029f5... by Mathieu Desnoyers

Version 2.7.6

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

2c88898... by Mathieu Desnoyers

Fix: show warning for broken clock work-around

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

9567834... by Mathieu Desnoyers

Fix: work-around upstream Linux timekeeping bug

Linux commit 27727df240c7 ("Avoid taking lock in NMI path with
CONFIG_DEBUG_TIMEKEEPING"), changed the logic to open-code
the timekeeping_get_ns() function, but forgot to include
the unit conversion from cycles to nanoseconds, breaking the
function's output, which impacts LTTng.

The following kernel versions are affected: 4.8, 4.7.4+, 4.4.20+,
4.1.32+

We expect that the upstream fix will reach the master and stable
branches timely before the next releases, so we use 4.8.1, 4.7.7,
4.4.24, and 4.1.34 as upper bounds (exclusive).

Fall-back to the non-NMI-safe trace clock for those kernel versions.
We simply discard events from NMI context with a in_nmi() check,
as we did before Linux 3.17.

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

17e9b74... by Mathieu Desnoyers

Documentation: lttng-modules 2.7 supports Linux < 4.8

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

22d844e... by Mathieu Desnoyers

Version 2.7.5

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

9778aa3... by Mathieu Desnoyers

Fix: handle large number of pages or subbuffers per buffer

Do no trigger kernel console warnings when we try to allocate too many
pages, or a too large kmalloc area for page array (within a subbuffer),
or a sub-buffer array (within a buffer).

Use vmalloc/vfree for the "pages" local variable used only during
allocation, which is an array of nr_subbuf * nr_pages_per_subbuf
pointers. This ensures we do not limit the overall buffer size due to
kmalloc limitations.

Fixes #1031

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

364754c... by Jonathan Rajotte

Fix: unregister cpu hotplug notifier on buffer alloc error

The cpu hotplug notifier needs to be unregistered in the error path of
buffer allocation, else it eventually causes kernel OOPS when the kernel
accesses freed memory of the notifier block.

Fixes #1031

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

a310ebb... by Mathieu Desnoyers

Version 2.7.4

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