diff options
Diffstat (limited to 'poky/meta/recipes-kernel/lttng')
23 files changed, 1475 insertions, 788 deletions
diff --git a/poky/meta/recipes-kernel/lttng/babeltrace/run-ptest b/poky/meta/recipes-kernel/lttng/babeltrace/run-ptest new file mode 100755 index 000000000..f4b7ce11e --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace/run-ptest @@ -0,0 +1,9 @@ +#!/bin/sh +# use target=recheck if you want to recheck failing tests +[ "$target" = "" ] && target=check + +# Without --ignore-exit, the tap harness causes any FAILs within a +# test plan to raise ERRORs; this is just noise. +makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD" + +exec make -C tests -k -s $makeargs $target 2>/dev/null diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch new file mode 100644 index 000000000..2401b176e --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch @@ -0,0 +1,28 @@ +From 56986190e4b0c10945ce6aaa7ca10d6bd8a26a39 Mon Sep 17 00:00:00 2001 +From: Jeremy Puhlman <jpuhlman@mvista.com> +Date: Mon, 9 Mar 2020 21:10:35 +0000 +Subject: [PATCH] Make manpages multilib identical + +Upstream-Status: Pending +Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> +--- + doc/man/asciidoc-attrs.conf.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/doc/man/asciidoc-attrs.conf.in b/doc/man/asciidoc-attrs.conf.in +index ad1183f1..e11c7031 100644 +--- a/doc/man/asciidoc-attrs.conf.in ++++ b/doc/man/asciidoc-attrs.conf.in +@@ -1,7 +1,7 @@ + [attributes] + # default values +-system_plugin_path="@LIBDIR@/babeltrace2/plugins" +-system_plugin_provider_path="@LIBDIR@/babeltrace2/plugin-providers" ++system_plugin_path="@prefix@/lib*/babeltrace2/plugins" ++system_plugin_provider_path="@prefix@/lib*/babeltrace2/plugin-providers" + babeltrace_version="@PACKAGE_VERSION@" + enable_debug_info="@ENABLE_DEBUG_INFO_VAL@" + defrdport=5344 +-- +2.24.1 + diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch new file mode 100644 index 000000000..b56b3bd6e --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-fs.c-initialize-other_entry.patch @@ -0,0 +1,33 @@ +From 42dae692b9057d03ce9a0651f061472e9dd90130 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Wed, 11 Mar 2020 08:44:42 +0000 +Subject: [PATCH] fs.c: initialize the other_entry variable + +Initialize the pointer other_entry to fix the below error: +| ../../../../../git/src/plugins/ctf/fs-src/fs.c: In function 'ds_index_insert_ds_index_entry_sorted': +| ../../../../../git/src/plugins/ctf/fs-src/fs.c:702:5: error: 'other_entry' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| 702 | !ds_index_entries_equal(entry, other_entry)) { + +Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2020-March/029549.html] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + src/plugins/ctf/fs-src/fs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/ctf/fs-src/fs.c b/src/plugins/ctf/fs-src/fs.c +index e87523a3..a6b5315f 100644 +--- a/src/plugins/ctf/fs-src/fs.c ++++ b/src/plugins/ctf/fs-src/fs.c +@@ -680,7 +680,7 @@ void ds_index_insert_ds_index_entry_sorted( + struct ctf_fs_ds_index_entry *entry) + { + guint i; +- struct ctf_fs_ds_index_entry *other_entry; ++ struct ctf_fs_ds_index_entry *other_entry = NULL; + + /* Find the spot where to insert this index entry. */ + for (i = 0; i < index->entries->len; i++) { +-- +2.24.1 + diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch new file mode 100644 index 000000000..805dde806 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch @@ -0,0 +1,28 @@ +From 582713cc9a013481eeef253195d644020f637ec4 Mon Sep 17 00:00:00 2001 +Message-Id: <582713cc9a013481eeef253195d644020f637ec4.1583403622.git.wallinux@gmail.com> +From: Anders Wallin <wallinux@gmail.com> +Date: Thu, 5 Mar 2020 11:20:04 +0100 +Subject: [PATCH] tests: do not run test applications from .libs + +Cross compile specific change + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Anders Wallin <wallinux@gmail.com> +--- + tests/lib/test_plugin | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/lib/test_plugin b/tests/lib/test_plugin +index 652c90cc..1f817c50 100755 +--- a/tests/lib/test_plugin ++++ b/tests/lib/test_plugin +@@ -26,4 +26,4 @@ fi + # shellcheck source=../utils/utils.sh + source "$UTILSSH" + +-"${BT_TESTS_BUILDDIR}/lib/plugin" "${BT_TESTS_BUILDDIR}/lib/test-plugin-plugins/.libs" ++"${BT_TESTS_BUILDDIR}/lib/plugin" "${BT_TESTS_BUILDDIR}/lib/test-plugin-plugins" +-- +2.25.1 + diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest b/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest new file mode 100755 index 000000000..72fe22343 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest @@ -0,0 +1,9 @@ +#!/bin/sh +# use target=recheck if you want to recheck failing tests +[ "$target" = "" ] && target=check + +# Without --ignore-exit, the tap harness causes any FAILs within a +# test plan to raise ERRORs; this is just noise. +makeargs="LOG_DRIVER_FLAGS=--ignore-exit abs_top_srcdir=$PWD abs_top_builddir=$PWD GREP=grep SED=sed PYTHON=python3" + +exec make -C tests -k -s $makeargs $target 2>/dev/null diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.2.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.2.bb new file mode 100644 index 000000000..0791c654f --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.2.bb @@ -0,0 +1,94 @@ +SUMMARY = "Babeltrace2 - Trace Format Babel Tower" +DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." +HOMEPAGE = "http://babeltrace.org/" +BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" +LICENSE = "MIT & GPLv2 & LGPLv2.1 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e" + +DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" + +SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-2.0 \ + file://run-ptest \ + file://0001-tests-do-not-run-test-applications-from-.libs.patch \ + file://0001-Make-manpages-multilib-identical.patch \ + file://0001-fs.c-initialize-other_entry.patch \ + " +SRCREV = "33003c352ed56aa49e0b3df272bbab6fac36cae8" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig ptest + +EXTRA_OECONF = "--disable-debug-info" + +PACKAGECONFIG ??= "manpages" +PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native" + +FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a" +FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so" + +ASNEEDED = "" + +RDEPENDS_${PN}-ptest += "bash gawk python3" + +do_compile_ptest () { + make -C tests all +} + +do_install_ptest () { + install -d "${D}${PTEST_PATH}/tests" + + # Copy required files from source directory + for d in $(find "${S}/tests" -type d -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${S}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + find "${S}/tests/$d" -maxdepth 1 -name *.sh \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + find "${S}/tests/$d" -maxdepth 1 -name *.py \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + find "${S}/tests/$d" -maxdepth 1 -name *.expect \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + done + install -d "${D}${PTEST_PATH}/tests/data/ctf-traces/" + cp -a ${S}/tests/data/ctf-traces/* ${D}${PTEST_PATH}/tests/data/ctf-traces/ + + # Copy the tests directory tree and the executables and + # Makefiles found within. + install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/" + for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${B}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + test -r "${B}/tests/$d/Makefile" && \ + install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" + find "${B}/tests/$d" -maxdepth 1 -name *.sh \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + done + + for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do + for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do + cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f + done + done + + # Prevent attempts to update Makefiles during test runs, and + # silence "Making check in $SUBDIR" messages. + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + sed -i \ + -e '/Makefile:/,/^$/d' \ + -e '/%: %.in/,/^$/d' \ + -e '/echo "Making $$target in $$subdir"; \\/d' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' \ + -e 's/^all-am:.*/all-am:/' \ + {} + + + # Substitute links to installed binaries. + install -d "${D}${PTEST_PATH}/src/cli/" + ln -s "${bindir}/babeltrace2" ${D}${PTEST_PATH}/src/cli/ + + # Remove architechture specific testfiles + rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/* +} diff --git a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb deleted file mode 100644 index 05ef6d099..000000000 --- a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Babeltrace - Trace Format Babel Tower" -DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." -HOMEPAGE = "http://www.efficios.com/babeltrace/" -BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" -LICENSE = "MIT & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa" - -DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" - -SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5" -SRCREV = "d4014aeef4b89a4aaab1af42d7b0d143d62da0ff" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)$" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--disable-debug-info" - -ASNEEDED = "" diff --git a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb new file mode 100644 index 000000000..4d2492a17 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.8.bb @@ -0,0 +1,98 @@ +SUMMARY = "Babeltrace - Trace Format Babel Tower" +DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." +HOMEPAGE = "http://babeltrace.org/" +BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" +LICENSE = "MIT & GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa" + +DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" + +SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5 \ + file://run-ptest \ + " +SRCREV = "054a54ae10b01a271afc4f19496c041b10fb414c" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig ptest + +EXTRA_OECONF = "--disable-debug-info" + +ASNEEDED = "" + +RDEPENDS_${PN}-ptest += "bash gawk" + +addtask do_patch_ptest_path after do_patch before do_configure +do_patch_ptest_path () { + for f in $(grep -l -r abs_top_srcdir ${S}/tests); do + sed -i 's:\@abs_top_srcdir\@:${PTEST_PATH}:' ${f} + done + + for f in $(grep -l -r abs_top_builddir ${S}/tests); do + sed -i 's:\@abs_top_builddir\@:${PTEST_PATH}:' ${f} + done + for f in $(grep -l -r GREP ${S}/tests); do + sed -i 's:\@GREP\@:grep:' ${f} + done + + for f in $(grep -l -r SED ${S}/tests); do + sed -i 's:\@SED\@:sed:' ${f} + done +} + +do_compile_ptest () { + make -C tests all +} + +do_install_ptest () { + # Copy required files from source directory + for f in config/tap-driver.sh config/test-driver; do + install -D "${S}/$f" "${D}${PTEST_PATH}/$f" + done + install -d "$f" "${D}${PTEST_PATH}/tests/ctf-traces/" + cp -a ${S}/tests/ctf-traces/* ${D}${PTEST_PATH}/tests/ctf-traces/ + + # Copy the tests directory tree and the executables and + # Makefiles found within. + install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/" + for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${B}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + test -r "${B}/tests/$d/Makefile" && \ + install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" + find "${B}/tests/$d" -maxdepth 1 -name *.sh \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + done + + for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do + for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do + cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f + done + done + + install -D ${B}/formats/ctf/metadata/.libs/ctf-parser-test \ + ${D}${PTEST_PATH}/formats/ctf/metadata/ctf-parser-test + + # Prevent attempts to update Makefiles during test runs, and + # silence "Making check in $SUBDIR" messages. + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + sed -i \ + -e '/Makefile:/,/^$/d' \ + -e '/$(check_SCRIPTS)/s/^/#/' \ + -e '/%: %.in/,/^$/d' \ + -e '/echo "Making $$target in $$subdir"; \\/d' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' \ + -e 's/^all-am:.*/all-am:/' \ + {} + + + # Remove path to babeltrace. + for f in $(grep -l -r "^BABELTRACE_BIN" ${D}${PTEST_PATH}); do + sed -i 's:^BABELTRACE_BIN.*:BABELTRACE_BIN=/usr/bin/babeltrace:' ${f} + done + for f in $(grep -l -r "^BTBIN" ${D}${PTEST_PATH}); do + sed -i 's:^BTBIN.*:BTBIN=/usr/bin/babeltrace:' ${f} + done +} diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch new file mode 100644 index 000000000..58f4d2919 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch @@ -0,0 +1,853 @@ +From a2cc0e06330e55eefe668f7d6370de6d3177a907 Mon Sep 17 00:00:00 2001 +From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Date: Tue, 5 May 2020 13:38:31 -0400 +Subject: [PATCH] Update for kernel 5.7: use vmalloc_sync_mappings on kernels + >= 5.7 + +Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/da0fcb1497ff2437407883647a8a0bba12bd0f91] + +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + lib/ringbuffer/ring_buffer_backend.c | 4 +-- + lttng-abi.c | 4 +-- + lttng-context-callstack.c | 2 +- + lttng-context-cgroup-ns.c | 2 +- + lttng-context-cpu-id.c | 2 +- + lttng-context-egid.c | 2 +- + lttng-context-euid.c | 2 +- + lttng-context-gid.c | 2 +- + lttng-context-hostname.c | 2 +- + lttng-context-interruptible.c | 2 +- + lttng-context-ipc-ns.c | 2 +- + lttng-context-migratable.c | 2 +- + lttng-context-mnt-ns.c | 2 +- + lttng-context-need-reschedule.c | 2 +- + lttng-context-net-ns.c | 2 +- + lttng-context-nice.c | 2 +- + lttng-context-perf-counters.c | 2 +- + lttng-context-pid-ns.c | 2 +- + lttng-context-pid.c | 2 +- + lttng-context-ppid.c | 2 +- + lttng-context-preemptible.c | 2 +- + lttng-context-prio.c | 2 +- + lttng-context-procname.c | 2 +- + lttng-context-sgid.c | 2 +- + lttng-context-suid.c | 2 +- + lttng-context-tid.c | 2 +- + lttng-context-uid.c | 2 +- + lttng-context-user-ns.c | 2 +- + lttng-context-uts-ns.c | 2 +- + lttng-context-vegid.c | 2 +- + lttng-context-veuid.c | 2 +- + lttng-context-vgid.c | 2 +- + lttng-context-vpid.c | 2 +- + lttng-context-vppid.c | 2 +- + lttng-context-vsgid.c | 2 +- + lttng-context-vsuid.c | 2 +- + lttng-context-vtid.c | 2 +- + lttng-context-vuid.c | 2 +- + lttng-context.c | 2 +- + lttng-events.c | 10 +++--- + lttng-ring-buffer-client.h | 4 +-- + lttng-ring-buffer-metadata-client.h | 4 +-- + lttng-syscalls.c | 2 +- + probes/lttng-kprobes.c | 2 +- + probes/lttng-kretprobes.c | 2 +- + probes/lttng-tracepoint-event-impl.h | 4 +-- + probes/lttng-uprobes.c | 2 +- + probes/lttng.c | 2 +- + tests/probes/lttng-test.c | 2 +- + wrapper/vmalloc.h | 49 ++++++++++++++++++++++++++-- + 50 files changed, 104 insertions(+), 61 deletions(-) + +diff --git a/lib/ringbuffer/ring_buffer_backend.c b/lib/ringbuffer/ring_buffer_backend.c +index d4bec25..d232b7f 100644 +--- a/lib/ringbuffer/ring_buffer_backend.c ++++ b/lib/ringbuffer/ring_buffer_backend.c +@@ -17,7 +17,7 @@ + #include <linux/vmalloc.h> + + #include <wrapper/mm.h> +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <wrapper/ringbuffer/config.h> + #include <wrapper/ringbuffer/backend.h> + #include <wrapper/ringbuffer/frontend.h> +@@ -156,7 +156,7 @@ int lib_ring_buffer_backend_allocate(const struct lib_ring_buffer_config *config + * If kmalloc ever uses vmalloc underneath, make sure the buffer pages + * will not fault. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + wrapper_clear_current_oom_origin(); + vfree(pages); + return 0; +diff --git a/lttng-abi.c b/lttng-abi.c +index b63e376..826ecab 100644 +--- a/lttng-abi.c ++++ b/lttng-abi.c +@@ -30,7 +30,7 @@ + #include <linux/uaccess.h> + #include <linux/slab.h> + #include <linux/err.h> +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <wrapper/ringbuffer/vfs.h> + #include <wrapper/ringbuffer/backend.h> + #include <wrapper/ringbuffer/frontend.h> +@@ -1938,7 +1938,7 @@ int __init lttng_abi_init(void) + { + int ret = 0; + +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + lttng_clock_ref(); + + ret = lttng_tp_mempool_init(); +diff --git a/lttng-context-callstack.c b/lttng-context-callstack.c +index 195990a..ba35a39 100644 +--- a/lttng-context-callstack.c ++++ b/lttng-context-callstack.c +@@ -141,7 +141,7 @@ int __lttng_add_callstack_generic(struct lttng_ctx **ctx, + field->record = lttng_callstack_record; + field->priv = fdata; + field->destroy = lttng_callstack_destroy; +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + + error_create: +diff --git a/lttng-context-cgroup-ns.c b/lttng-context-cgroup-ns.c +index 81486e5..f324b7e 100644 +--- a/lttng-context-cgroup-ns.c ++++ b/lttng-context-cgroup-ns.c +@@ -97,7 +97,7 @@ int lttng_add_cgroup_ns_to_ctx(struct lttng_ctx **ctx) + field->record = cgroup_ns_record; + field->get_value = cgroup_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_cgroup_ns_to_ctx); +diff --git a/lttng-context-cpu-id.c b/lttng-context-cpu-id.c +index 3778225..6e2f3f4 100644 +--- a/lttng-context-cpu-id.c ++++ b/lttng-context-cpu-id.c +@@ -68,7 +68,7 @@ int lttng_add_cpu_id_to_ctx(struct lttng_ctx **ctx) + field->record = cpu_id_record; + field->get_value = cpu_id_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_cpu_id_to_ctx); +diff --git a/lttng-context-egid.c b/lttng-context-egid.c +index 51536e2..bdcebb9 100644 +--- a/lttng-context-egid.c ++++ b/lttng-context-egid.c +@@ -70,7 +70,7 @@ int lttng_add_egid_to_ctx(struct lttng_ctx **ctx) + field->record = egid_record; + field->get_value = egid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_egid_to_ctx); +diff --git a/lttng-context-euid.c b/lttng-context-euid.c +index 1bcd53f..c2b8dcd 100644 +--- a/lttng-context-euid.c ++++ b/lttng-context-euid.c +@@ -70,7 +70,7 @@ int lttng_add_euid_to_ctx(struct lttng_ctx **ctx) + field->record = euid_record; + field->get_value = euid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_euid_to_ctx); +diff --git a/lttng-context-gid.c b/lttng-context-gid.c +index da54207..c355e8c 100644 +--- a/lttng-context-gid.c ++++ b/lttng-context-gid.c +@@ -70,7 +70,7 @@ int lttng_add_gid_to_ctx(struct lttng_ctx **ctx) + field->record = gid_record; + field->get_value = gid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_gid_to_ctx); +diff --git a/lttng-context-hostname.c b/lttng-context-hostname.c +index e485aa9..17dbd57 100644 +--- a/lttng-context-hostname.c ++++ b/lttng-context-hostname.c +@@ -101,7 +101,7 @@ int lttng_add_hostname_to_ctx(struct lttng_ctx **ctx) + field->record = hostname_record; + field->get_value = hostname_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_hostname_to_ctx); +diff --git a/lttng-context-interruptible.c b/lttng-context-interruptible.c +index f3da199..8bd279a 100644 +--- a/lttng-context-interruptible.c ++++ b/lttng-context-interruptible.c +@@ -75,7 +75,7 @@ int lttng_add_interruptible_to_ctx(struct lttng_ctx **ctx) + field->record = interruptible_record; + field->get_value = interruptible_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_interruptible_to_ctx); +diff --git a/lttng-context-ipc-ns.c b/lttng-context-ipc-ns.c +index 78d5966..40b901b 100644 +--- a/lttng-context-ipc-ns.c ++++ b/lttng-context-ipc-ns.c +@@ -96,7 +96,7 @@ int lttng_add_ipc_ns_to_ctx(struct lttng_ctx **ctx) + field->record = ipc_ns_record; + field->get_value = ipc_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_ipc_ns_to_ctx); +diff --git a/lttng-context-migratable.c b/lttng-context-migratable.c +index e3d8ede..65154b8 100644 +--- a/lttng-context-migratable.c ++++ b/lttng-context-migratable.c +@@ -68,7 +68,7 @@ int lttng_add_migratable_to_ctx(struct lttng_ctx **ctx) + field->record = migratable_record; + field->get_value = migratable_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_migratable_to_ctx); +diff --git a/lttng-context-mnt-ns.c b/lttng-context-mnt-ns.c +index b5bb955..cb59776 100644 +--- a/lttng-context-mnt-ns.c ++++ b/lttng-context-mnt-ns.c +@@ -98,7 +98,7 @@ int lttng_add_mnt_ns_to_ctx(struct lttng_ctx **ctx) + field->record = mnt_ns_record; + field->get_value = mnt_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_mnt_ns_to_ctx); +diff --git a/lttng-context-need-reschedule.c b/lttng-context-need-reschedule.c +index f29fb28..94efaa5 100644 +--- a/lttng-context-need-reschedule.c ++++ b/lttng-context-need-reschedule.c +@@ -68,7 +68,7 @@ int lttng_add_need_reschedule_to_ctx(struct lttng_ctx **ctx) + field->record = need_reschedule_record; + field->get_value = need_reschedule_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_need_reschedule_to_ctx); +diff --git a/lttng-context-net-ns.c b/lttng-context-net-ns.c +index 6694037..37de09f 100644 +--- a/lttng-context-net-ns.c ++++ b/lttng-context-net-ns.c +@@ -97,7 +97,7 @@ int lttng_add_net_ns_to_ctx(struct lttng_ctx **ctx) + field->record = net_ns_record; + field->get_value = net_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_net_ns_to_ctx); +diff --git a/lttng-context-nice.c b/lttng-context-nice.c +index 563e805..acaba85 100644 +--- a/lttng-context-nice.c ++++ b/lttng-context-nice.c +@@ -68,7 +68,7 @@ int lttng_add_nice_to_ctx(struct lttng_ctx **ctx) + field->record = nice_record; + field->get_value = nice_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_nice_to_ctx); +diff --git a/lttng-context-perf-counters.c b/lttng-context-perf-counters.c +index 43c4077..6b04d12 100644 +--- a/lttng-context-perf-counters.c ++++ b/lttng-context-perf-counters.c +@@ -321,7 +321,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + field->u.perf_counter = perf_field; + lttng_context_update(*ctx); + +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) +diff --git a/lttng-context-pid-ns.c b/lttng-context-pid-ns.c +index f039f26..ccf629d 100644 +--- a/lttng-context-pid-ns.c ++++ b/lttng-context-pid-ns.c +@@ -98,7 +98,7 @@ int lttng_add_pid_ns_to_ctx(struct lttng_ctx **ctx) + field->record = pid_ns_record; + field->get_value = pid_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_pid_ns_to_ctx); +diff --git a/lttng-context-pid.c b/lttng-context-pid.c +index b3caabb..326eabe 100644 +--- a/lttng-context-pid.c ++++ b/lttng-context-pid.c +@@ -68,7 +68,7 @@ int lttng_add_pid_to_ctx(struct lttng_ctx **ctx) + field->record = pid_record; + field->get_value = pid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_pid_to_ctx); +diff --git a/lttng-context-ppid.c b/lttng-context-ppid.c +index ef84ad1..ff25288 100644 +--- a/lttng-context-ppid.c ++++ b/lttng-context-ppid.c +@@ -90,7 +90,7 @@ int lttng_add_ppid_to_ctx(struct lttng_ctx **ctx) + field->record = ppid_record; + field->get_value = ppid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_ppid_to_ctx); +diff --git a/lttng-context-preemptible.c b/lttng-context-preemptible.c +index 328f2a4..867805b 100644 +--- a/lttng-context-preemptible.c ++++ b/lttng-context-preemptible.c +@@ -86,7 +86,7 @@ int lttng_add_preemptible_to_ctx(struct lttng_ctx **ctx) + field->record = preemptible_record; + field->get_value = preemptible_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_preemptible_to_ctx); +diff --git a/lttng-context-prio.c b/lttng-context-prio.c +index b5d21e7..367f7bd 100644 +--- a/lttng-context-prio.c ++++ b/lttng-context-prio.c +@@ -89,7 +89,7 @@ int lttng_add_prio_to_ctx(struct lttng_ctx **ctx) + field->record = prio_record; + field->get_value = prio_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_prio_to_ctx); +diff --git a/lttng-context-procname.c b/lttng-context-procname.c +index 54007d1..8f18ca2 100644 +--- a/lttng-context-procname.c ++++ b/lttng-context-procname.c +@@ -72,7 +72,7 @@ int lttng_add_procname_to_ctx(struct lttng_ctx **ctx) + field->record = procname_record; + field->get_value = procname_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_procname_to_ctx); +diff --git a/lttng-context-sgid.c b/lttng-context-sgid.c +index 61c8d53..2a58cbd 100644 +--- a/lttng-context-sgid.c ++++ b/lttng-context-sgid.c +@@ -70,7 +70,7 @@ int lttng_add_sgid_to_ctx(struct lttng_ctx **ctx) + field->record = sgid_record; + field->get_value = sgid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_sgid_to_ctx); +diff --git a/lttng-context-suid.c b/lttng-context-suid.c +index 66d3ef5..ab3e2a9 100644 +--- a/lttng-context-suid.c ++++ b/lttng-context-suid.c +@@ -70,7 +70,7 @@ int lttng_add_suid_to_ctx(struct lttng_ctx **ctx) + field->record = suid_record; + field->get_value = suid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_suid_to_ctx); +diff --git a/lttng-context-tid.c b/lttng-context-tid.c +index d2a20e6..f6defc4 100644 +--- a/lttng-context-tid.c ++++ b/lttng-context-tid.c +@@ -71,7 +71,7 @@ int lttng_add_tid_to_ctx(struct lttng_ctx **ctx) + field->record = tid_record; + field->get_value = tid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_tid_to_ctx); +diff --git a/lttng-context-uid.c b/lttng-context-uid.c +index 5f11de2..5593852 100644 +--- a/lttng-context-uid.c ++++ b/lttng-context-uid.c +@@ -70,7 +70,7 @@ int lttng_add_uid_to_ctx(struct lttng_ctx **ctx) + field->record = uid_record; + field->get_value = uid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_uid_to_ctx); +diff --git a/lttng-context-user-ns.c b/lttng-context-user-ns.c +index 746e4d9..0ed62e3 100644 +--- a/lttng-context-user-ns.c ++++ b/lttng-context-user-ns.c +@@ -82,7 +82,7 @@ int lttng_add_user_ns_to_ctx(struct lttng_ctx **ctx) + field->record = user_ns_record; + field->get_value = user_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_user_ns_to_ctx); +diff --git a/lttng-context-uts-ns.c b/lttng-context-uts-ns.c +index 7352a3d..283bc73 100644 +--- a/lttng-context-uts-ns.c ++++ b/lttng-context-uts-ns.c +@@ -96,7 +96,7 @@ int lttng_add_uts_ns_to_ctx(struct lttng_ctx **ctx) + field->record = uts_ns_record; + field->get_value = uts_ns_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_uts_ns_to_ctx); +diff --git a/lttng-context-vegid.c b/lttng-context-vegid.c +index 604da2a..1431dac 100644 +--- a/lttng-context-vegid.c ++++ b/lttng-context-vegid.c +@@ -70,7 +70,7 @@ int lttng_add_vegid_to_ctx(struct lttng_ctx **ctx) + field->record = vegid_record; + field->get_value = vegid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vegid_to_ctx); +diff --git a/lttng-context-veuid.c b/lttng-context-veuid.c +index 983ae6a..a1b5b70 100644 +--- a/lttng-context-veuid.c ++++ b/lttng-context-veuid.c +@@ -70,7 +70,7 @@ int lttng_add_veuid_to_ctx(struct lttng_ctx **ctx) + field->record = veuid_record; + field->get_value = veuid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_veuid_to_ctx); +diff --git a/lttng-context-vgid.c b/lttng-context-vgid.c +index e08c77d..0eed24e 100644 +--- a/lttng-context-vgid.c ++++ b/lttng-context-vgid.c +@@ -70,7 +70,7 @@ int lttng_add_vgid_to_ctx(struct lttng_ctx **ctx) + field->record = vgid_record; + field->get_value = vgid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vgid_to_ctx); +diff --git a/lttng-context-vpid.c b/lttng-context-vpid.c +index 982ce55..b5b6ce0 100644 +--- a/lttng-context-vpid.c ++++ b/lttng-context-vpid.c +@@ -83,7 +83,7 @@ int lttng_add_vpid_to_ctx(struct lttng_ctx **ctx) + field->record = vpid_record; + field->get_value = vpid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vpid_to_ctx); +diff --git a/lttng-context-vppid.c b/lttng-context-vppid.c +index 66d6382..347ac63 100644 +--- a/lttng-context-vppid.c ++++ b/lttng-context-vppid.c +@@ -112,7 +112,7 @@ int lttng_add_vppid_to_ctx(struct lttng_ctx **ctx) + field->record = vppid_record; + field->get_value = vppid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vppid_to_ctx); +diff --git a/lttng-context-vsgid.c b/lttng-context-vsgid.c +index aca5eda..3daf889 100644 +--- a/lttng-context-vsgid.c ++++ b/lttng-context-vsgid.c +@@ -70,7 +70,7 @@ int lttng_add_vsgid_to_ctx(struct lttng_ctx **ctx) + field->record = vsgid_record; + field->get_value = vsgid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vsgid_to_ctx); +diff --git a/lttng-context-vsuid.c b/lttng-context-vsuid.c +index 66c1300..d7fb0db 100644 +--- a/lttng-context-vsuid.c ++++ b/lttng-context-vsuid.c +@@ -70,7 +70,7 @@ int lttng_add_vsuid_to_ctx(struct lttng_ctx **ctx) + field->record = vsuid_record; + field->get_value = vsuid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vsuid_to_ctx); +diff --git a/lttng-context-vtid.c b/lttng-context-vtid.c +index 8fd68a8..e81ba0e 100644 +--- a/lttng-context-vtid.c ++++ b/lttng-context-vtid.c +@@ -83,7 +83,7 @@ int lttng_add_vtid_to_ctx(struct lttng_ctx **ctx) + field->record = vtid_record; + field->get_value = vtid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vtid_to_ctx); +diff --git a/lttng-context-vuid.c b/lttng-context-vuid.c +index 6ae575f..33e22d3 100644 +--- a/lttng-context-vuid.c ++++ b/lttng-context-vuid.c +@@ -70,7 +70,7 @@ int lttng_add_vuid_to_ctx(struct lttng_ctx **ctx) + field->record = vuid_record; + field->get_value = vuid_get_value; + lttng_context_update(*ctx); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return 0; + } + EXPORT_SYMBOL_GPL(lttng_add_vuid_to_ctx); +diff --git a/lttng-context.c b/lttng-context.c +index eb4534c..a6d4ee6 100644 +--- a/lttng-context.c ++++ b/lttng-context.c +@@ -11,7 +11,7 @@ + #include <linux/list.h> + #include <linux/mutex.h> + #include <linux/slab.h> +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <lttng-events.h> + #include <lttng-tracer.h> + +diff --git a/lttng-events.c b/lttng-events.c +index a1c8445..401f646 100644 +--- a/lttng-events.c ++++ b/lttng-events.c +@@ -30,7 +30,7 @@ + #include <linux/uuid.h> + #include <linux/dmi.h> + +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <wrapper/random.h> + #include <wrapper/tracepoint.h> + #include <wrapper/list.h> +@@ -2753,9 +2753,9 @@ end: + * Registers a transport which can be used as output to extract the data out of + * LTTng. The module calling this registration function must ensure that no + * trap-inducing code will be executed by the transport functions. E.g. +- * vmalloc_sync_all() must be called between a vmalloc and the moment the memory ++ * vmalloc_sync_mappings() must be called between a vmalloc and the moment the memory + * is made visible to the transport function. This registration acts as a +- * vmalloc_sync_all. Therefore, only if the module allocates virtual memory ++ * vmalloc_sync_mappings. Therefore, only if the module allocates virtual memory + * after its registration must it synchronize the TLBs. + */ + void lttng_transport_register(struct lttng_transport *transport) +@@ -2763,9 +2763,9 @@ void lttng_transport_register(struct lttng_transport *transport) + /* + * Make sure no page fault can be triggered by the module about to be + * registered. We deal with this here so we don't have to call +- * vmalloc_sync_all() in each module's init. ++ * vmalloc_sync_mappings() in each module's init. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + + mutex_lock(&sessions_mutex); + list_add_tail(&transport->node, <tng_transport_list); +diff --git a/lttng-ring-buffer-client.h b/lttng-ring-buffer-client.h +index d5c512c..ff62830 100644 +--- a/lttng-ring-buffer-client.h ++++ b/lttng-ring-buffer-client.h +@@ -10,7 +10,7 @@ + #include <linux/module.h> + #include <linux/types.h> + #include <lib/bitfield.h> +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <wrapper/trace-clock.h> + #include <lttng-events.h> + #include <lttng-tracer.h> +@@ -766,7 +766,7 @@ static int __init lttng_ring_buffer_client_init(void) + * This vmalloc sync all also takes care of the lib ring buffer + * vmalloc'd module pages when it is built as a module into LTTng. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + lttng_transport_register(<tng_relay_transport); + return 0; + } +diff --git a/lttng-ring-buffer-metadata-client.h b/lttng-ring-buffer-metadata-client.h +index 17ffd75..a098b8d 100644 +--- a/lttng-ring-buffer-metadata-client.h ++++ b/lttng-ring-buffer-metadata-client.h +@@ -9,7 +9,7 @@ + + #include <linux/module.h> + #include <linux/types.h> +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <lttng-events.h> + #include <lttng-tracer.h> + +@@ -428,7 +428,7 @@ static int __init lttng_ring_buffer_client_init(void) + * This vmalloc sync all also takes care of the lib ring buffer + * vmalloc'd module pages when it is built as a module into LTTng. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + lttng_transport_register(<tng_relay_transport); + return 0; + } +diff --git a/lttng-syscalls.c b/lttng-syscalls.c +index fb14f6b..97f1ba9 100644 +--- a/lttng-syscalls.c ++++ b/lttng-syscalls.c +@@ -760,7 +760,7 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter) + struct lttng_kernel_event ev; + int ret; + +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + + if (!chan->sc_table) { + /* create syscall table mapping syscall to events */ +diff --git a/probes/lttng-kprobes.c b/probes/lttng-kprobes.c +index c0a15e4..a44eaa1 100644 +--- a/probes/lttng-kprobes.c ++++ b/probes/lttng-kprobes.c +@@ -132,7 +132,7 @@ int lttng_kprobes_register(const char *name, + * Well.. kprobes itself puts the page fault handler on the blacklist, + * but we can never be too careful. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + + ret = register_kprobe(&event->u.kprobe.kp); + if (ret) +diff --git a/probes/lttng-kretprobes.c b/probes/lttng-kretprobes.c +index 4b18d46..ab98ff2 100644 +--- a/probes/lttng-kretprobes.c ++++ b/probes/lttng-kretprobes.c +@@ -221,7 +221,7 @@ int lttng_kretprobes_register(const char *name, + * Well.. kprobes itself puts the page fault handler on the blacklist, + * but we can never be too careful. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + + ret = register_kretprobe(<tng_krp->krp); + if (ret) +diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h +index 321cdfa..77b8638 100644 +--- a/probes/lttng-tracepoint-event-impl.h ++++ b/probes/lttng-tracepoint-event-impl.h +@@ -15,7 +15,7 @@ + #include <probes/lttng.h> + #include <probes/lttng-types.h> + #include <probes/lttng-probe-user.h> +-#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */ ++#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <wrapper/ringbuffer/frontend_types.h> + #include <wrapper/ringbuffer/backend.h> + #include <wrapper/rcu.h> +@@ -1391,7 +1391,7 @@ static __used struct lttng_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM) = { + #ifndef TP_MODULE_NOINIT + static int TP_ID(__lttng_events_init__, TRACE_SYSTEM)(void) + { +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + return lttng_probe_register(&TP_ID(__probe_desc___, TRACE_SYSTEM)); + } + +diff --git a/probes/lttng-uprobes.c b/probes/lttng-uprobes.c +index 64d8237..bc10128 100644 +--- a/probes/lttng-uprobes.c ++++ b/probes/lttng-uprobes.c +@@ -161,7 +161,7 @@ int lttng_uprobes_add_callsite(struct lttng_event *event, + } + + /* Ensure the memory we just allocated don't trigger page faults. */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + + uprobe_handler->event = event; + uprobe_handler->up_consumer.handler = lttng_uprobes_handler_pre; +diff --git a/probes/lttng.c b/probes/lttng.c +index 383202c..05bc138 100644 +--- a/probes/lttng.c ++++ b/probes/lttng.c +@@ -116,7 +116,7 @@ int __init lttng_logger_init(void) + { + int ret = 0; + +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + + /* /dev/lttng-logger */ + ret = misc_register(&logger_dev); +diff --git a/tests/probes/lttng-test.c b/tests/probes/lttng-test.c +index e347639..b450e7d 100644 +--- a/tests/probes/lttng-test.c ++++ b/tests/probes/lttng-test.c +@@ -97,7 +97,7 @@ int __init lttng_test_init(void) + int ret = 0; + + (void) wrapper_lttng_fixup_sig(THIS_MODULE); +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + lttng_test_filter_event_dentry = + proc_create_data(LTTNG_TEST_FILTER_EVENT_FILE, + S_IRUGO | S_IWUGO, NULL, +diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h +index 0c3eb86..54715b5 100644 +--- a/wrapper/vmalloc.h ++++ b/wrapper/vmalloc.h +@@ -21,8 +21,35 @@ + #include <linux/kallsyms.h> + #include <wrapper/kallsyms.h> + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) ++ ++static inline ++void wrapper_vmalloc_sync_mappings(void) ++{ ++ void (*vmalloc_sync_mappings_sym)(void); ++ ++ vmalloc_sync_mappings_sym = (void *) kallsyms_lookup_funcptr("vmalloc_sync_mappings"); ++ if (vmalloc_sync_mappings_sym) { ++ vmalloc_sync_mappings_sym(); ++ } else { ++#ifdef CONFIG_X86 ++ /* ++ * Only x86 needs vmalloc_sync_mappings to make sure LTTng does not ++ * trigger recursive page faults. ++ */ ++ printk_once(KERN_WARNING "LTTng: vmalloc_sync_mappings symbol lookup failed.\n"); ++ printk_once(KERN_WARNING "Page fault handler and NMI tracing might trigger faults.\n"); ++#endif ++ } ++} ++ ++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++ ++/* ++ * Map vmalloc_sync_mappings to vmalloc_sync_all() on kernels before 5.7. ++ */ + static inline +-void wrapper_vmalloc_sync_all(void) ++void wrapper_vmalloc_sync_mappings(void) + { + void (*vmalloc_sync_all_sym)(void); + +@@ -40,13 +67,29 @@ void wrapper_vmalloc_sync_all(void) + #endif + } + } ++ ++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++ + #else + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) ++ ++static inline ++void wrapper_vmalloc_sync_mappings(void) ++{ ++ return vmalloc_sync_mappings(); ++} ++ ++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++ + static inline +-void wrapper_vmalloc_sync_all(void) ++void wrapper_vmalloc_sync_mappings(void) + { + return vmalloc_sync_all(); + } ++ ++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++ + #endif + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0)) +@@ -61,7 +104,7 @@ void *lttng_kvmalloc_node(unsigned long size, gfp_t flags, int node) + * Make sure we don't trigger recursive page faults in the + * tracing fast path. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + } + return ret; + } +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch new file mode 100644 index 000000000..807fe933c --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch @@ -0,0 +1,32 @@ +From 4d1817c129310945bf0b8227ebc0fbb4f6299dc7 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Wed, 6 May 2020 11:03:32 -0400 +Subject: [PATCH 2/4] Fix: missing wrapper rename to + wrapper_vmalloc_sync_mappings + +Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/c1ba644f2edf6a5bc030111ce4167a8798cc1053] + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Change-Id: Idf7082a980c5a604bfef5c69906678b5083a9bbf +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + wrapper/vmalloc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h +index 54715b5..5d0b389 100644 +--- a/wrapper/vmalloc.h ++++ b/wrapper/vmalloc.h +@@ -216,7 +216,7 @@ void *lttng_kvmalloc_node(unsigned long size, gfp_t flags, int node) + * Make sure we don't trigger recursive page faults in the + * tracing fast path. + */ +- wrapper_vmalloc_sync_all(); ++ wrapper_vmalloc_sync_mappings(); + } + return ret; + } +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch new file mode 100644 index 000000000..48d7e2f00 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch @@ -0,0 +1,88 @@ +From 23cfd7b53ec1521d3c23ceddfda49352c2d349dc Mon Sep 17 00:00:00 2001 +From: Ovidiu Panait <ovidiu.panait@windriver.com> +Date: Thu, 14 May 2020 13:05:24 +0300 +Subject: [PATCH 3/4] Fix: Use vmalloc_sync_mappings on kernel 5.6 as well + +Upstream commit [1], that got rid of vmalloc_sync_all and introduced +vmalloc_sync_mappings, is a v5.6 commit: +$ git tag --contains 763802b53a427ed3cbd419dbba255c414fdd9e7c +v5.6 +v5.6-rc7 +v5.7-rc1 +v5.7-rc2 +v5.7-rc3 + +Extend the LINUX_VERSION_CODE check to v5.6 to fix the following warnings: +... +[ 483.242037] LTTng: vmalloc_sync_all symbol lookup failed. +[ 483.257056] Page fault handler and NMI tracing might trigger faults. +... + +[1] https://github.com/torvalds/linux/commit/763802b53a427ed3cbd419dbba255c414fdd9e7c + +Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/da356b324dfc160e09b8966b691792037badf455] + +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + wrapper/vmalloc.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h +index 5d0b389..d905f60 100644 +--- a/wrapper/vmalloc.h ++++ b/wrapper/vmalloc.h +@@ -21,7 +21,7 @@ + #include <linux/kallsyms.h> + #include <wrapper/kallsyms.h> + +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) + + static inline + void wrapper_vmalloc_sync_mappings(void) +@@ -43,7 +43,7 @@ void wrapper_vmalloc_sync_mappings(void) + } + } + +-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ + + /* + * Map vmalloc_sync_mappings to vmalloc_sync_all() on kernels before 5.7. +@@ -68,11 +68,11 @@ void wrapper_vmalloc_sync_mappings(void) + } + } + +-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ + + #else + +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) + + static inline + void wrapper_vmalloc_sync_mappings(void) +@@ -80,7 +80,7 @@ void wrapper_vmalloc_sync_mappings(void) + return vmalloc_sync_mappings(); + } + +-#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ + + static inline + void wrapper_vmalloc_sync_mappings(void) +@@ -88,7 +88,7 @@ void wrapper_vmalloc_sync_mappings(void) + return vmalloc_sync_all(); + } + +-#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0)) */ ++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) */ + + #endif + +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch new file mode 100644 index 000000000..a0b870486 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch @@ -0,0 +1,67 @@ +From f419315f28a1da656c4faa8a852a2928ce38c72d Mon Sep 17 00:00:00 2001 +From: Ovidiu Panait <ovidiu.panait@windriver.com> +Date: Thu, 14 May 2020 14:27:17 +0300 +Subject: [PATCH 4/4] Update: Use vmalloc_sync_mappings for stable kernels + +Starting from v5.4.28/v5.2.37/v4.19.113/v4.14.175/v4.9.218/v4.4.218, stable +kernel branches backported v5.6 upstream commit [1], causing the following +warnings: +... +[ 483.242037] LTTng: vmalloc_sync_all symbol lookup failed. +[ 483.257056] Page fault handler and NMI tracing might trigger faults. +... + +Extend check for vmalloc_sync_mappings for stable kernels as well. + +[1] https://github.com/torvalds/linux/commit/763802b53a427ed3cbd419dbba255c414fdd9e7c + +[ Edit: minor coding style fix by Mathieu Desnoyers. ] + +Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/5939591f87dc291bc858caf72decfb8569d802e3] + +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + wrapper/vmalloc.h | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/wrapper/vmalloc.h b/wrapper/vmalloc.h +index d905f60..c7538ae 100644 +--- a/wrapper/vmalloc.h ++++ b/wrapper/vmalloc.h +@@ -20,8 +20,15 @@ + + #include <linux/kallsyms.h> + #include <wrapper/kallsyms.h> ++#include <lttng-kernel-version.h> + +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) \ ++ || LTTNG_KERNEL_RANGE(5,4,28, 5,5,0) \ ++ || LTTNG_KERNEL_RANGE(5,2,37, 5,3,0) \ ++ || LTTNG_KERNEL_RANGE(4,19,113, 4,20,0) \ ++ || LTTNG_KERNEL_RANGE(4,14,175, 4,15,0) \ ++ || LTTNG_KERNEL_RANGE(4,9,218, 4,10,0) \ ++ || LTTNG_KERNEL_RANGE(4,4,218, 4,5,0)) + + static inline + void wrapper_vmalloc_sync_mappings(void) +@@ -72,7 +79,13 @@ void wrapper_vmalloc_sync_mappings(void) + + #else + +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) \ ++ || LTTNG_KERNEL_RANGE(5,4,28, 5,5,0) \ ++ || LTTNG_KERNEL_RANGE(5,2,37, 5,3,0) \ ++ || LTTNG_KERNEL_RANGE(4,19,113, 4,20,0) \ ++ || LTTNG_KERNEL_RANGE(4,14,175, 4,15,0) \ ++ || LTTNG_KERNEL_RANGE(4,9,218, 4,10,0) \ ++ || LTTNG_KERNEL_RANGE(4,4,218, 4,5,0)) + + static inline + void wrapper_vmalloc_sync_mappings(void) +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.0.bb index 789a3be85..4a6c42e3b 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.0.bb @@ -2,10 +2,7 @@ SECTION = "devel" SUMMARY = "Linux Trace Toolkit KERNEL MODULE" DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" LICENSE = "LGPLv2.1 & GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \ - file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \ - file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \ - " +LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128" inherit module @@ -14,10 +11,14 @@ COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux' SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ + file://0001-Update-for-kernel-5.7-use-vmalloc_sync_mappings-on-k.patch \ + file://0002-Fix-missing-wrapper-rename-to-wrapper_vmalloc_sync_m.patch \ + file://0003-Fix-Use-vmalloc_sync_mappings-on-kernel-5.6-as-well.patch \ + file://0004-Update-Use-vmalloc_sync_mappings-for-stable-kernels.patch \ " -SRC_URI[md5sum] = "c618fb646514dfc1bf910cfd7cda4256" -SRC_URI[sha256sum] = "7f91e39b2e8e46d8bbba2b4c8c1614f1fb380611cd1a1fccc1d1859be26112f1" +SRC_URI[md5sum] = "be252df5013ea03894921d0b493c7b6c" +SRC_URI[sha256sum] = "efeb2ae60e96dbe9a9b342d3a80dfc7642f06a8c09686089d491ad696bb98f4d" export INSTALL_MOD_DIR="kernel/lttng-modules" @@ -34,13 +35,13 @@ python do_package_prepend() { } BBCLASSEXTEND = "devupstream:target" -LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3" +LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128" DEFAULT_PREFERENCE_class-devupstream = "-1" -SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.10 \ +SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ " -SRCREV_class-devupstream = "624aca5d7507fbd11ea4a1a474c3aa1031bd9a31" -PV_class-devupstream = "2.10.10+git${SRCPV}" +SRCREV_class-devupstream = "17c413953603f063f2a9d6c3788bec914ce6f955" +PV_class-devupstream = "2.12.0+git${SRCPV}" S_class-devupstream = "${WORKDIR}/git" SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch deleted file mode 100644 index 6c9f7e462..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch +++ /dev/null @@ -1,610 +0,0 @@ -From 95c27e6acceaeda55c729b9e92e594322adef13f Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> -Date: Wed, 3 Apr 2019 16:31:18 -0400 -Subject: [PATCH lttng-tools] Skip when testapp is not present - -We expect lttng-ust do be present, this is a wrong assumptions. - -This is a quick fix. The real fix is to either detect at runtime -lttng-ust support or at build time (HAVE_LIBLTTNG_UST_CTL). - -This prevent hang for make check done on a build configured with ---without-lttng-ust. - -Upstream-Status: Inappropriate [other] -Reason: This patch is inappropriate for upstream for 2.10 stable release -since we do not backport "superficial" fix to the test suite. We do -backport when a test is broken. The fact that on --without-lttng-ust -hang is not a "broken" test per-see. Still, a variation of this fix will -be upstreamed in our master branch and possibly 2.11. The upstreamed -version will split the test in kernel/ust test and skip them at the -build system level. This patch is more succinct. - -Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> ---- - tests/regression/tools/crash/test_crash | 4 ++ - .../regression/tools/exclusion/test_exclusion | 4 ++ - .../tools/filtering/test_valid_filter | 21 ++++-- - tests/regression/tools/health/test_thread_ok | 29 +++++--- - tests/regression/tools/live/Makefile.am | 2 - - tests/regression/tools/live/test_lttng_ust | 4 ++ - tests/regression/tools/live/test_ust | 4 ++ - .../tools/live/test_ust_tracefile_count | 4 ++ - tests/regression/tools/mi/test_mi | 4 ++ - .../notification/test_notification_multi_app | 18 +++-- - .../tools/notification/test_notification_ust | 4 ++ - .../regression/tools/regen-metadata/test_ust | 2 +- - .../regression/tools/regen-statedump/test_ust | 2 +- - .../regression/tools/save-load/test_autoload | 7 ++ - tests/regression/tools/save-load/test_load | 8 +++ - tests/regression/tools/save-load/test_save | 7 ++ - .../regression/tools/snapshots/test_ust_fast | 2 +- - .../regression/tools/snapshots/test_ust_long | 2 +- - .../tools/snapshots/test_ust_streaming | 2 +- - tests/regression/tools/snapshots/ust_test | 2 +- - .../streaming/test_high_throughput_limits | 2 +- - tests/regression/tools/streaming/test_ust | 2 +- - .../tracefile-limits/test_tracefile_count | 2 +- - .../tracefile-limits/test_tracefile_size | 2 +- - .../tools/wildcard/test_event_wildcard | 67 ++++++++++--------- - 25 files changed, 147 insertions(+), 60 deletions(-) - -diff --git a/tests/regression/tools/crash/test_crash b/tests/regression/tools/crash/test_crash -index 8c62c513d..3cbe97688 100755 ---- a/tests/regression/tools/crash/test_crash -+++ b/tests/regression/tools/crash/test_crash -@@ -35,6 +35,10 @@ NUM_TESTS=77 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # Global declaration for simplification - LTTNG_CRASH=$TESTDIR/../src/bin/lttng-crash/$CRASH_BIN - -diff --git a/tests/regression/tools/exclusion/test_exclusion b/tests/regression/tools/exclusion/test_exclusion -index 949cd41df..42e4d72fb 100755 ---- a/tests/regression/tools/exclusion/test_exclusion -+++ b/tests/regression/tools/exclusion/test_exclusion -@@ -30,6 +30,10 @@ NUM_TESTS=149 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - function enable_ust_lttng_all_event_exclusion() - { - sess_name="$1" -diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter -index 163b32182..1e8da630b 100755 ---- a/tests/regression/tools/filtering/test_valid_filter -+++ b/tests/regression/tools/filtering/test_valid_filter -@@ -418,12 +418,18 @@ issue_356_filter+="intfield > 4 && intfield > 5 && " - issue_356_filter+="intfield > 6 && intfield > 7 && " - issue_356_filter+="intfield > 8 || intfield > 0" - -+BIN_NAME="gen-ust-events" -+ -+skip_ust=1 -+if [ ! -x "$CURDIR/$BIN_NAME" ]; then -+ skip_ust=0 -+ skip 0 "No UST nevents binary detected." $NUM_UST_TESTS -+fi -+ - start_lttng_sessiond - - ### UST TESTS - --BIN_NAME="gen-ust-events" -- - KIRK_KRAUSS_TESTS=( - # the tests below were written by Kirk Krauss in this article: - # http://www.drdobbs.com/architecture-and-design/matching-wildcards-an-empirical-way-to-t/240169123 -@@ -897,9 +903,6 @@ UST_STR_FILTERS=( - END - ) - --if [ ! -x "$CURDIR/$BIN_NAME" ]; then -- BAIL_OUT "No UST nevents binary detected." --fi - - IFS="$OLDIFS" - -@@ -910,6 +913,10 @@ i=0 - while true; do - validator="${UST_FILTERS[$i]}" - -+ if [ $skip_ust -eq 0 ]; then -+ break -+ fi -+ - if [ "$validator" = END ]; then - break - fi -@@ -929,6 +936,10 @@ i=0 - while true; do - validator="${UST_STR_FILTERS[$i]}" - -+ if [ $skip_ust -eq 0 ]; then -+ break -+ fi -+ - if [ "$validator" = END ]; then - break - fi -diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok -index e81d6ed24..849b7e71f 100755 ---- a/tests/regression/tools/health/test_thread_ok -+++ b/tests/regression/tools/health/test_thread_ok -@@ -27,6 +27,9 @@ CHANNEL_NAME="testchan" - HEALTH_CHECK_BIN="health_check" - NUM_TESTS=17 - SLEEP_TIME=30 -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" - - source $TESTDIR/utils/utils.sh - -@@ -76,15 +79,19 @@ function test_thread_ok - $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} - report_errors - -- diag "With UST consumer daemons" -- create_lttng_session_no_output $SESSION_NAME -- enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME -- start_lttng_tracing_ok $SESSION_NAME -- destroy_lttng_session_ok $SESSION_NAME -+ skip $skip_ust "Ust does not seems to be supported" "5" || -+ { -+ diag "With UST consumer daemons" -+ create_lttng_session_no_output $SESSION_NAME -+ enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME -+ start_lttng_tracing_ok $SESSION_NAME -+ destroy_lttng_session_ok $SESSION_NAME - -- # Check health status -- $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} -- report_errors -+ -+ # Check health status -+ $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH} -+ report_errors -+ } - - skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" || - { -@@ -141,6 +148,12 @@ else - isroot=0 - fi - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ skip_ust=0 -+else -+ skip_ust=1 -+fi -+ - test_thread_ok - - rm -rf ${HEALTH_PATH} -diff --git a/tests/regression/tools/live/Makefile.am b/tests/regression/tools/live/Makefile.am -index 46186d383..db74de8d5 100644 ---- a/tests/regression/tools/live/Makefile.am -+++ b/tests/regression/tools/live/Makefile.am -@@ -16,9 +16,7 @@ LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \ - noinst_PROGRAMS = live_test - EXTRA_DIST = test_kernel test_lttng_kernel - --if HAVE_LIBLTTNG_UST_CTL - EXTRA_DIST += test_ust test_ust_tracefile_count test_lttng_ust --endif - - live_test_SOURCES = live_test.c - live_test_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) \ -diff --git a/tests/regression/tools/live/test_lttng_ust b/tests/regression/tools/live/test_lttng_ust -index 06017d01d..be9b3d7f7 100755 ---- a/tests/regression/tools/live/test_lttng_ust -+++ b/tests/regression/tools/live/test_lttng_ust -@@ -38,6 +38,10 @@ NUM_TESTS=12 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/live/test_ust b/tests/regression/tools/live/test_ust -index 0384a706f..add521bfc 100755 ---- a/tests/regression/tools/live/test_ust -+++ b/tests/regression/tools/live/test_ust -@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR) - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - echo "$TEST_DESC" - - function setup_live_tracing() -diff --git a/tests/regression/tools/live/test_ust_tracefile_count b/tests/regression/tools/live/test_ust_tracefile_count -index 6da368fc6..10504f8c6 100755 ---- a/tests/regression/tools/live/test_ust_tracefile_count -+++ b/tests/regression/tools/live/test_ust_tracefile_count -@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR) - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - echo "$TEST_DESC" - - function setup_live_tracing() -diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi -index 48dda7da6..2cc30b29a 100755 ---- a/tests/regression/tools/mi/test_mi -+++ b/tests/regression/tools/mi/test_mi -@@ -61,6 +61,10 @@ NUM_TESTS=228 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - #Overwrite the lttng_bin to get mi output - LTTNG_BIN="lttng --mi xml" - -diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app -index 0a05ea6a0..29b0f62fa 100755 ---- a/tests/regression/tools/notification/test_notification_multi_app -+++ b/tests/regression/tools/notification/test_notification_multi_app -@@ -52,6 +52,11 @@ plan_tests $NUM_TESTS - - print_test_banner "$TEST_DESC" - -+skip_ust=1 -+if [ ! -x "$TESTAPP_BIN" ]; then -+ skip_ust=0 -+fi -+ - app_pids=() - - function kernel_event_generator_toogle_state -@@ -468,10 +473,15 @@ function test_on_register_evaluation () - } - - --TESTS=( -- test_multi_app_ust -- test_on_register_evaluation_ust --) -+TESTS=() -+if [ $skip_ust -eq "1" ]; then -+ TESTS+=( -+ test_multi_app_ust -+ test_on_register_evaluation_ust -+ ) -+else -+ skip 0 "No UST events binary detected." $NUM_TEST_UST -+fi - - if [ "$(id -u)" == "0" ]; then - TESTS+=( -diff --git a/tests/regression/tools/notification/test_notification_ust b/tests/regression/tools/notification/test_notification_ust -index 8941e476d..eb2e15cad 100755 ---- a/tests/regression/tools/notification/test_notification_ust -+++ b/tests/regression/tools/notification/test_notification_ust -@@ -46,6 +46,10 @@ DIR=$(readlink -f $TESTDIR) - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - function ust_event_generator_toogle_state - { - ust_event_generator_suspended=$((ust_event_generator_suspended==0)) -diff --git a/tests/regression/tools/regen-metadata/test_ust b/tests/regression/tools/regen-metadata/test_ust -index b7f1af1d8..312c8a40d 100755 ---- a/tests/regression/tools/regen-metadata/test_ust -+++ b/tests/regression/tools/regen-metadata/test_ust -@@ -34,7 +34,7 @@ NUM_TESTS=33 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function lttng_create_session_uri -diff --git a/tests/regression/tools/regen-statedump/test_ust b/tests/regression/tools/regen-statedump/test_ust -index 486b9a560..8d455b26a 100755 ---- a/tests/regression/tools/regen-statedump/test_ust -+++ b/tests/regression/tools/regen-statedump/test_ust -@@ -34,7 +34,7 @@ NUM_TESTS=11 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function test_ust_local () -diff --git a/tests/regression/tools/save-load/test_autoload b/tests/regression/tools/save-load/test_autoload -index 7ee5e9906..ec376cfb3 100755 ---- a/tests/regression/tools/save-load/test_autoload -+++ b/tests/regression/tools/save-load/test_autoload -@@ -21,6 +21,9 @@ CURDIR=$(dirname $0)/ - CONFIG_DIR="${CURDIR}/configuration" - TESTDIR=$CURDIR/../../../ - export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/) -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" - - DIR=$(readlink -f $TESTDIR) - -@@ -28,6 +31,10 @@ NUM_TESTS=9 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/save-load/test_load b/tests/regression/tools/save-load/test_load -index 5e38b46b6..b6fdd8192 100755 ---- a/tests/regression/tools/save-load/test_load -+++ b/tests/regression/tools/save-load/test_load -@@ -20,6 +20,10 @@ TEST_DESC="Load session(s)" - CURDIR=$(dirname $0)/ - CONFIG_DIR="${CURDIR}/configuration" - TESTDIR=$CURDIR/../../../ -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" -+ - export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/) - - SESSION_NAME="load-42" -@@ -31,6 +35,10 @@ NUM_TESTS=67 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "$TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/save-load/test_save b/tests/regression/tools/save-load/test_save -index c5f6b1341..cfaf67b7a 100755 ---- a/tests/regression/tools/save-load/test_save -+++ b/tests/regression/tools/save-load/test_save -@@ -23,6 +23,9 @@ TESTDIR=$CURDIR/../../../ - SESSION_NAME="save-42" - CHANNEL_NAME="chan-save" - EVENT_NAME="tp:tptest" -+TESTAPP_PATH="$TESTDIR/utils/testapp" -+TESTAPP_NAME="gen-ust-events" -+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" - - DIR=$(readlink -f $TESTDIR) - -@@ -30,6 +33,10 @@ NUM_TESTS=41 - - source $TESTDIR/utils/utils.sh - -+if [ ! -x "TESTAPP_BIN" ]; then -+ plan_skip_all "No UST events binary detected." -+fi -+ - # MUST set TESTDIR before calling those functions - plan_tests $NUM_TESTS - -diff --git a/tests/regression/tools/snapshots/test_ust_fast b/tests/regression/tools/snapshots/test_ust_fast -index edb435c52..5a68ec56d 100755 ---- a/tests/regression/tools/snapshots/test_ust_fast -+++ b/tests/regression/tools/snapshots/test_ust_fast -@@ -23,7 +23,7 @@ TEST_BIN="ust_test" - source $TESTDIR/utils/utils.sh - - if [ ! -x "$CURDIR/$TEST_BIN" ]; then -- BAIL_OUT "No UST test found: $TEST_BIN" -+ plan_skip_all "No UST test found: $TEST_BIN" - fi - - ./$CURDIR/$TEST_BIN $NR_SNAPSHOT -diff --git a/tests/regression/tools/snapshots/test_ust_long b/tests/regression/tools/snapshots/test_ust_long -index 9e1a0c262..afa019f6a 100755 ---- a/tests/regression/tools/snapshots/test_ust_long -+++ b/tests/regression/tools/snapshots/test_ust_long -@@ -23,7 +23,7 @@ TEST_BIN="ust_test" - source $TESTDIR/utils/utils.sh - - if [ ! -x "$CURDIR/$TEST_BIN" ]; then -- BAIL_OUT "No UST test found: $TEST_BIN" -+ plan_skip_all "No UST test found: $TEST_BIN" - fi - - ./$CURDIR/$TEST_BIN $NR_SNAPSHOT -diff --git a/tests/regression/tools/snapshots/test_ust_streaming b/tests/regression/tools/snapshots/test_ust_streaming -index 93b0957f3..69291ab4d 100755 ---- a/tests/regression/tools/snapshots/test_ust_streaming -+++ b/tests/regression/tools/snapshots/test_ust_streaming -@@ -37,7 +37,7 @@ NUM_TESTS=75 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function snapshot_add_output () -diff --git a/tests/regression/tools/snapshots/ust_test b/tests/regression/tools/snapshots/ust_test -index 755cef9e0..92f9f6cff 100755 ---- a/tests/regression/tools/snapshots/ust_test -+++ b/tests/regression/tools/snapshots/ust_test -@@ -34,7 +34,7 @@ TRACE_PATH=$(mktemp -d) - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - # Need the number of snapshot to do. -diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits -index 32c3f1f2b..f54178923 100755 ---- a/tests/regression/tools/streaming/test_high_throughput_limits -+++ b/tests/regression/tools/streaming/test_high_throughput_limits -@@ -38,7 +38,7 @@ NUM_TESTS=104 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function set_bw_limit -diff --git a/tests/regression/tools/streaming/test_ust b/tests/regression/tools/streaming/test_ust -index a5d5b5e92..e1dd98ee7 100755 ---- a/tests/regression/tools/streaming/test_ust -+++ b/tests/regression/tools/streaming/test_ust -@@ -34,7 +34,7 @@ NUM_TESTS=16 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function lttng_create_session_uri -diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_count b/tests/regression/tools/tracefile-limits/test_tracefile_count -index 6ada8580f..7553c7d1f 100755 ---- a/tests/regression/tools/tracefile-limits/test_tracefile_count -+++ b/tests/regression/tools/tracefile-limits/test_tracefile_count -@@ -33,7 +33,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE) - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function enable_lttng_channel_count_limit () -diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size -index 3dddbe613..1089487ff 100755 ---- a/tests/regression/tools/tracefile-limits/test_tracefile_size -+++ b/tests/regression/tools/tracefile-limits/test_tracefile_size -@@ -33,7 +33,7 @@ NUM_TESTS=66 - source $TESTDIR/utils/utils.sh - - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST events binary detected." -+ plan_skip_all "No UST events binary detected." - fi - - function enable_lttng_channel_size_limit () -diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard -index 61ea67a72..921a2301d 100755 ---- a/tests/regression/tools/wildcard/test_event_wildcard -+++ b/tests/regression/tools/wildcard/test_event_wildcard -@@ -97,42 +97,47 @@ print_test_banner "$TEST_DESC" - - start_lttng_sessiond - --diag "Test UST wildcard" -- - if [ ! -x "$TESTAPP_BIN" ]; then -- BAIL_OUT "No UST nevents binary detected." -+ skip_ust=0 -+else -+ skip_ust=1 - fi - --EVENT_NAME="tp:tptest" -+skip $skip_ust "No UST nevents binary detected." $NUM_UST_TESTS || -+{ -+ diag "Test UST wildcard" - --# non-matching --test_event_wildcard ust 0 'tp:abc*' --test_event_wildcard ust 0 '*abc' --test_event_wildcard ust 0 '*z*' --test_event_wildcard ust 0 '*\**' --test_event_wildcard ust 0 '*\*' --test_event_wildcard ust 0 '\**' --test_event_wildcard ust 0 '*:*tpte*s' --test_event_wildcard ust 0 'tp**tpTest' -+ EVENT_NAME="tp:tptest" - --# matching --test_event_wildcard ust 1 'tp:tp*' --test_event_wildcard ust 1 '*' --test_event_wildcard ust 1 'tp:tptest*' --test_event_wildcard ust 1 '**' --test_event_wildcard ust 1 '***' --test_event_wildcard ust 1 '*tptest' --test_event_wildcard ust 1 '**tptest' --test_event_wildcard ust 1 '*tpte*' --test_event_wildcard ust 1 '*tp*' --test_event_wildcard ust 1 '*tp**' --test_event_wildcard ust 1 '*:*tptest' --test_event_wildcard ust 1 '*:*tpte*t' --test_event_wildcard ust 1 't*p*:*t*e*s*t' --test_event_wildcard ust 1 '*t*p*:*t*e*s*t*' --test_event_wildcard ust 1 'tp*tptest' --test_event_wildcard ust 1 'tp**tptest' --test_event_wildcard ust 1 'tp*test' -+ # non-matching -+ test_event_wildcard ust 0 'tp:abc*' -+ test_event_wildcard ust 0 '*abc' -+ test_event_wildcard ust 0 '*z*' -+ test_event_wildcard ust 0 '*\**' -+ test_event_wildcard ust 0 '*\*' -+ test_event_wildcard ust 0 '\**' -+ test_event_wildcard ust 0 '*:*tpte*s' -+ test_event_wildcard ust 0 'tp**tpTest' -+ -+ # matching -+ test_event_wildcard ust 1 'tp:tp*' -+ test_event_wildcard ust 1 '*' -+ test_event_wildcard ust 1 'tp:tptest*' -+ test_event_wildcard ust 1 '**' -+ test_event_wildcard ust 1 '***' -+ test_event_wildcard ust 1 '*tptest' -+ test_event_wildcard ust 1 '**tptest' -+ test_event_wildcard ust 1 '*tpte*' -+ test_event_wildcard ust 1 '*tp*' -+ test_event_wildcard ust 1 '*tp**' -+ test_event_wildcard ust 1 '*:*tptest' -+ test_event_wildcard ust 1 '*:*tpte*t' -+ test_event_wildcard ust 1 't*p*:*t*e*s*t' -+ test_event_wildcard ust 1 '*t*p*:*t*e*s*t*' -+ test_event_wildcard ust 1 'tp*tptest' -+ test_event_wildcard ust 1 'tp**tptest' -+ test_event_wildcard ust 1 'tp*test' -+} - - if [ "$(id -u)" == "0" ]; then - isroot=1 --- -2.17.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch deleted file mode 100644 index c494cee60..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 69c62f5f3cc424b7dd0c8e4097743b39a9c48306 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 27 Jul 2019 08:48:13 -0700 -Subject: [lttng-tools][PATCH] check for gettid API during configure - -Add support for gettid() provided by glibc 2.30+ - -Since version 2.30 glibc provides gettid and it causes conflicts with -locally defined gettid(). Use the local definition of -gettid only if system gettid is not available. - -https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD<Paste> - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure.ac | 2 +- - src/common/compat/tid.h | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 7b99f5c..e4bd82c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -190,7 +190,7 @@ AC_CHECK_HEADERS([ \ - # Basic functions check - AC_CHECK_FUNCS([ \ - atexit bzero clock_gettime dup2 fdatasync fls ftruncate \ -- gethostbyname gethostname getpagesize localtime_r memchr memset \ -+ gethostbyname gethostname getpagesize gettid localtime_r memchr memset \ - mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \ - strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \ - strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \ -diff --git a/src/common/compat/tid.h b/src/common/compat/tid.h -index 40f562f..aa07a85 100644 ---- a/src/common/compat/tid.h -+++ b/src/common/compat/tid.h -@@ -25,6 +25,7 @@ - #ifndef LTTNG_TID_H - #define LTTNG_TID_H - -+#if !HAVE_GETTID - #ifdef __linux__ - #include <syscall.h> - #endif -@@ -47,5 +48,5 @@ static inline pid_t gettid(void) - return getpid(); - } - #endif -- -+#endif /* HAVE_GETTID */ - #endif /* LTTNG_TID_H */ --- -2.22.0 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch new file mode 100644 index 000000000..2d08b0887 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch @@ -0,0 +1,27 @@ +From ab238c213fac190972f55e73cf3e0bb1c7846eb8 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 12 Dec 2019 16:52:07 +0100 +Subject: [PATCH] tests: do not strip a helper library + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/utils/testapp/userspace-probe-elf-binary/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am +index 03f5d5a..d12c343 100644 +--- a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am ++++ b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am +@@ -12,7 +12,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la + libfoo.strip: libfoo.la + $(OBJCOPY) --strip-all .libs/libfoo.so + +-all-local: libfoo.strip ++all-local: + @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + for script in $(EXTRA_DIST); do \ + cp -f $(srcdir)/$$script $(builddir); \ +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-lib.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-lib.patch new file mode 100644 index 000000000..a150d648a --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-lib.patch @@ -0,0 +1,43 @@ +From e5d94cf4882cc6516af52b794c6acb8e4d6469a3 Mon Sep 17 00:00:00 2001 +From: Ovidiu Panait <ovidiu.panait@windriver.com> +Date: Mon, 18 May 2020 16:39:26 +0300 +Subject: [PATCH] tests: gen-ust-events-ns/tp.h: Fix build with musl libc + +Fix the following build error with musl libc: +In file included from ../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.h:14, + from ../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.c:10: +../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.h:17:10: error: unknown type name 'ino_t'; did you mean 'int8_t'? + 17 | TP_ARGS(ino_t, ns_ino), + | ^~~~~ +../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/tp.h:17:10: error: unknown type name 'ino_t'; did you mean 'int8_t'? + 17 | TP_ARGS(ino_t, ns_ino), + | ^~~~~ +../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/./tp.h:17:2: error: unknown type name 'ino_t'; did you mean 'int8_t'? + 17 | TP_ARGS(ino_t, ns_ino), + | ^~~~~~~ +../../../../../lttng-tools-2.12.0/tests/utils/testapp/gen-ust-events-ns/./tp.h:17:2: error: unknown type name 'ino_t'; did you mean 'int8_t'? + 17 | TP_ARGS(ino_t, ns_ino), + | ^~~~~~~ + +Upstream-Status: Submitted [https://github.com/lttng/lttng-tools/pull/161] + +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + tests/utils/testapp/gen-ust-events-ns/tp.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/utils/testapp/gen-ust-events-ns/tp.h b/tests/utils/testapp/gen-ust-events-ns/tp.h +index 4dbfed5..e0ddb29 100644 +--- a/tests/utils/testapp/gen-ust-events-ns/tp.h ++++ b/tests/utils/testapp/gen-ust-events-ns/tp.h +@@ -11,6 +11,7 @@ + #if !defined(_TRACEPOINT_TP_H) || defined(TRACEPOINT_HEADER_MULTI_READ) + #define _TRACEPOINT_TP_H + ++#include <sys/types.h> + #include <lttng/tracepoint.h> + + TRACEPOINT_EVENT(tp, tptest, +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch new file mode 100644 index 000000000..f2c14ecc9 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch @@ -0,0 +1,34 @@ +From c69b68e5c03f1d260025fb1dd9ab7345e31e15ef Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 24 Jan 2020 18:03:25 +0100 +Subject: [PATCH] tests/regression: disable the tools/live tests + +They have been found to sporadically fail; the issue has been +reported upstream and they will work to investigate and fix: +https://bugs.lttng.org/issues/1217 + +Upstream-Status: Inappropriate [upstream is working on a real fix] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + tests/regression/Makefile.am | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am +index 73eb9f7..b92bdbd 100644 +--- a/tests/regression/Makefile.am ++++ b/tests/regression/Makefile.am +@@ -9,14 +9,10 @@ TESTS = tools/filtering/test_invalid_filter \ + tools/filtering/test_valid_filter \ + tools/streaming/test_ust \ + tools/health/test_thread_ok \ +- tools/live/test_ust \ +- tools/live/test_ust_tracefile_count \ +- tools/live/test_lttng_ust \ + tools/tracefile-limits/test_tracefile_count \ + tools/tracefile-limits/test_tracefile_size \ + tools/exclusion/test_exclusion \ + tools/snapshots/test_ust_fast \ +- tools/snapshots/test_ust_streaming \ + tools/save-load/test_save \ + tools/save-load/test_load \ + tools/save-load/test_autoload \ diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch deleted file mode 100644 index 784a07940..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001 -From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> -Date: Wed, 22 May 2019 16:44:54 -0400 -Subject: [PATCH] Fix: check for lttng modules presence before testing - -Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html] - -Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> ---- - tests/regression/tools/notification/test_notification_multi_app | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app -index 29b0f62..a6baf65 100755 ---- a/tests/regression/tools/notification/test_notification_multi_app -+++ b/tests/regression/tools/notification/test_notification_multi_app -@@ -484,6 +484,7 @@ else - fi - - if [ "$(id -u)" == "0" ]; then -+ validate_lttng_modules_present - TESTS+=( - test_multi_app_kernel - test_on_register_evaluation_kernel diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch deleted file mode 100644 index 42cebf94a..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix build for x32 - -Signed-off-by: Christopher Larson <chris_larson@mentor.com> - -Fix build error of src/common/utils.c for x32. - -Upstream-Status: Submitted [https://github.com/lttng/lttng-tools/pull/150] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c -index 0e96ef0c..5c79c8c7 100644 ---- a/src/bin/lttng/utils.c -+++ b/src/bin/lttng/utils.c -@@ -158,7 +158,7 @@ unsigned int fls_u32(uint32_t x) - #define HAS_FLS_U32 - #endif - --#if defined(__x86_64) -+#if defined(__x86_64) && !defined(__ILP32__) - static inline - unsigned int fls_u64(uint64_t x) - { -diff --git a/src/common/utils.c b/src/common/utils.c -index 08139e5e..3c389981 100644 ---- a/src/common/utils.c -+++ b/src/common/utils.c -@@ -1223,7 +1223,7 @@ static inline unsigned int fls_u32(uint32_t x) - #define HAS_FLS_U32 - #endif - --#if defined(__x86_64) -+#if defined(__x86_64) && !defined(__ILP32__) - static inline - unsigned int fls_u64(uint64_t x) - { diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.0.bb index aa6d19d0f..148a7928d 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.0.bb @@ -5,13 +5,13 @@ to extract program execution details from the Linux operating system \ and interpret them." LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ - file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca" +LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \ + file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \ + file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95" DEPENDS = "liburcu popt libxml2 util-linux" RDEPENDS_${PN} = "libgcc" -RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed" +RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed python3-core" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" # babelstats.pl wants getopt-long @@ -29,16 +29,15 @@ PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-nat PACKAGECONFIG_remove_arc = "lttng-ust" SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ - file://x32.patch \ + file://0001-tests-do-not-strip-a-helper-library.patch \ file://run-ptest \ file://lttng-sessiond.service \ - file://0001-Skip-when-testapp-is-not-present.patch \ - file://0002-Fix-check-for-lttng-modules-presence-before-testing.patch \ - file://0001-check-for-gettid-API-during-configure.patch \ + file://0001-tests-regression-disable-the-tools-live-tests.patch \ + file://0001-tests-gen-ust-events-ns-tp.h-Fix-build-with-musl-lib.patch \ " -SRC_URI[md5sum] = "e7804d10e4cade381e241601f6047373" -SRC_URI[sha256sum] = "ed71ebe00c5d985c74f30e97b614e909573cbd9276c85e05d9557a0b817a1312" +SRC_URI[md5sum] = "4592201ea981f0722438345fb1f009d2" +SRC_URI[sha256sum] = "405661d27617dc79a42712174a051a45c7ca12d167576c0d93f2de708ed29445" inherit autotools ptest pkgconfig useradd python3-dir manpages systemd @@ -59,6 +58,8 @@ FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" INSANE_SKIP_${PN} = "libexec dev-so" INSANE_SKIP_${PN}-dbg = "libexec" +PRIVATE_LIBS_${PN}-ptest = "libfoo.so" + do_install_append () { # install systemd unit file install -d ${D}${systemd_unitdir}/system @@ -66,11 +67,11 @@ do_install_append () { } do_install_ptest () { - for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng ; do + for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do install -D "${B}/$f" "${D}${PTEST_PATH}/$f" done - for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-3.0.xsd; do + for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do install -D "${S}/$f" "${D}${PTEST_PATH}/$f" done @@ -111,6 +112,8 @@ do_install_ptest () { done done + chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary + # # Use the versioned libs of liblttng-ust-dl. # diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch deleted file mode 100644 index bff852799..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Don't build the doc examples - we don't need them and in fact they -never successfully built in previous iterations of the lttng-ust -recipe anyway. - -Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> - -Index: lttng-ust-2.9.1/doc/Makefile.am -=================================================================== ---- lttng-ust-2.9.1.orig/doc/Makefile.am -+++ lttng-ust-2.9.1/doc/Makefile.am -@@ -1,3 +1,3 @@ --SUBDIRS = . man examples -+SUBDIRS = . man - - dist_doc_DATA = java-agent.txt diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.0.bb index cfaad30b6..ad544d1b4 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.0.bb @@ -15,6 +15,8 @@ PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ inherit autotools lib_package manpages python3native +EXTRA_OECONF = "--disable-numa" + DEPENDS = "liburcu util-linux" RDEPENDS_${PN}-bin = "python3-core" @@ -26,15 +28,15 @@ RCONFLICTS_${PN} = "lttng2-ust" PE = "2" SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ - file://lttng-ust-doc-examples-disable.patch \ file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ - " + " -SRC_URI[md5sum] = "f0c86a9fa7dcfd0205fb42584a310b1c" -SRC_URI[sha256sum] = "06f9ed9b2198855b1c7fcbf15fe57297ee259409ffa1b3bad87321412d98bc35" +SRC_URI[md5sum] = "3bf4a04c305271d13cf6596c4e7b9b3c" +SRC_URI[sha256sum] = "1983edb525f3f27e3494088d8d5389b4c71af66bbfe63c6f1df2ad95aa44a528" CVE_PRODUCT = "ust" +PACKAGECONFIG[examples] = "--enable-examples, --disable-examples," PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" |