diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2021-02-13 00:55:30 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2021-02-25 23:15:06 +0300 |
commit | 706d5aacd7ab7b37c00df1a1b210e4ced06119e1 (patch) | |
tree | ed0bec373424d01accfb2e9c895c177a3e2d7abe /poky/meta/recipes-kernel/lttng | |
parent | ac970dd705934286df062e0f1501f776dc2ef01d (diff) | |
download | openbmc-706d5aacd7ab7b37c00df1a1b210e4ced06119e1.tar.xz |
Reset poky to before our libpam hacks
Things got a bit out of synch with openbmc-config due to the libpam
issues and the migration from the meta-* layers.
Revert the two previous commits and then put the latest poky in with the
libpam revert and get openbmc-config right again.
Revert "Revert "libpam: update 1.3.1 -> 1.5.1""
This reverts commit 87ddd3eab4df68e624b5350ccaab28b3b97547c0.
Revert "poky: subtree update:796be0593a..10c69538c0"
This reverts commit c723b72979bfac6362509cf1fe086900f6641f28.
Change-Id: I3a1f405193aee6a21fe0cd24be9927c143a23d9a
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'poky/meta/recipes-kernel/lttng')
8 files changed, 9 insertions, 735 deletions
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-objtool-Rename-frame.h-objtool.h-v5.10.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-objtool-Rename-frame.h-objtool.h-v5.10.patch deleted file mode 100644 index fde9398394..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-objtool-Rename-frame.h-objtool.h-v5.10.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 37b9cb0e6cb92181b7a25583849a9d161a558982 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 26 Oct 2020 13:41:02 -0400 -Subject: [PATCH 07/19] fix: objtool: Rename frame.h -> objtool.h (v5.10) - -See upstream commit : - - commit 00089c048eb4a8250325efb32a2724fd0da68cce - Author: Julien Thierry <jthierry@redhat.com> - Date: Fri Sep 4 16:30:25 2020 +0100 - - objtool: Rename frame.h -> objtool.h - - Header frame.h is getting more code annotations to help objtool analyze - object files. - - Rename the file to objtool.h. - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: Ic2283161bebcbf1e33b72805eb4d2628f4ae3e89 ---- - lttng-filter-interpreter.c | 2 +- - wrapper/{frame.h => objtool.h} | 19 ++++++++++++------- - 2 files changed, 13 insertions(+), 8 deletions(-) - rename wrapper/{frame.h => objtool.h} (50%) - -diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c -index 21169f01..5d572437 100644 ---- a/lttng-filter-interpreter.c -+++ b/lttng-filter-interpreter.c -@@ -8,7 +8,7 @@ - */ - - #include <wrapper/uaccess.h> --#include <wrapper/frame.h> -+#include <wrapper/objtool.h> - #include <wrapper/types.h> - #include <linux/swab.h> - -diff --git a/wrapper/frame.h b/wrapper/objtool.h -similarity index 50% -rename from wrapper/frame.h -rename to wrapper/objtool.h -index 6e6dc811..3b997cae 100644 ---- a/wrapper/frame.h -+++ b/wrapper/objtool.h -@@ -1,18 +1,23 @@ --/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1) -+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) - * -- * wrapper/frame.h -+ * wrapper/objtool.h - * - * Copyright (C) 2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - */ - --#ifndef _LTTNG_WRAPPER_FRAME_H --#define _LTTNG_WRAPPER_FRAME_H -+#ifndef _LTTNG_WRAPPER_OBJTOOL_H -+#define _LTTNG_WRAPPER_OBJTOOL_H - - #include <linux/version.h> - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) -- -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+#include <linux/objtool.h> -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) - #include <linux/frame.h> -+#endif -+ -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) - - #define LTTNG_STACK_FRAME_NON_STANDARD(func) \ - STACK_FRAME_NON_STANDARD(func) -@@ -23,4 +28,4 @@ - - #endif - --#endif /* _LTTNG_WRAPPER_FRAME_H */ -+#endif /* _LTTNG_WRAPPER_OBJTOOL_H */ --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-btrfs-make-ordered-extent-tracepoint-take-btrfs_.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-btrfs-make-ordered-extent-tracepoint-take-btrfs_.patch deleted file mode 100644 index bc87c7174e..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-btrfs-make-ordered-extent-tracepoint-take-btrfs_.patch +++ /dev/null @@ -1,179 +0,0 @@ -From ddad4e82bc2cc48c0eb56d2daf69409026e8b31a Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Tue, 27 Oct 2020 12:10:05 -0400 -Subject: [PATCH 09/19] fix: btrfs: make ordered extent tracepoint take - btrfs_inode (v5.10) - -See upstream commit : - - commit acbf1dd0fcbd10c67826a19958f55a053b32f532 - Author: Nikolay Borisov <nborisov@suse.com> - Date: Mon Aug 31 14:42:40 2020 +0300 - - btrfs: make ordered extent tracepoint take btrfs_inode - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: I096d0801ffe0ad826cfe414cdd1c0857cbd2b624 ---- - instrumentation/events/lttng-module/btrfs.h | 120 +++++++++++++++----- - 1 file changed, 90 insertions(+), 30 deletions(-) - -diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h -index 52fcfd0d..d47f3280 100644 ---- a/instrumentation/events/lttng-module/btrfs.h -+++ b/instrumentation/events/lttng-module/btrfs.h -@@ -346,7 +346,29 @@ LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist, - ) - #endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent, -+ -+ TP_PROTO(const struct btrfs_inode *inode, -+ const struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered), -+ -+ TP_FIELDS( -+ ctf_array(u8, fsid, inode->root->lttng_fs_info_fsid, BTRFS_UUID_SIZE) -+ ctf_integer(ino_t, ino, btrfs_ino(inode)) -+ ctf_integer(u64, file_offset, ordered->file_offset) -+ ctf_integer(u64, start, ordered->disk_bytenr) -+ ctf_integer(u64, len, ordered->num_bytes) -+ ctf_integer(u64, disk_len, ordered->disk_num_bytes) -+ ctf_integer(u64, bytes_left, ordered->bytes_left) -+ ctf_integer(unsigned long, flags, ordered->flags) -+ ctf_integer(int, compress_type, ordered->compress_type) -+ ctf_integer(int, refs, refcount_read(&ordered->refs)) -+ ctf_integer(u64, root_objectid, inode->root->root_key.objectid) -+ ) -+) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent, - - TP_PROTO(const struct inode *inode, -@@ -458,7 +480,39 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent, - ) - #endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add, -+ -+ TP_PROTO(const struct btrfs_inode *inode, -+ const struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, -+ -+ TP_PROTO(const struct btrfs_inode *inode, -+ const struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, -+ -+ TP_PROTO(const struct btrfs_inode *inode, -+ const struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, -+ -+ TP_PROTO(const struct btrfs_inode *inode, -+ const struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \ - LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ - LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \ - LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \ -@@ -494,7 +548,41 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, - - TP_ARGS(inode, ordered) - ) -+#else -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add, -+ -+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, -+ -+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, -+ -+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) - -+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, -+ -+ TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -+ -+ TP_ARGS(inode, ordered) -+) -+#endif -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \ -+ LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ -+ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \ -+ LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \ -+ LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0)) - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage, - - TP_PROTO(const struct page *page, const struct inode *inode, -@@ -563,34 +651,6 @@ LTTNG_TRACEPOINT_EVENT(btrfs_sync_file, - ) - ) - #else --LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add, -- -- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -- -- TP_ARGS(inode, ordered) --) -- --LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, -- -- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -- -- TP_ARGS(inode, ordered) --) -- --LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, -- -- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -- -- TP_ARGS(inode, ordered) --) -- --LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, -- -- TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered), -- -- TP_ARGS(inode, ordered) --) -- - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage, - - TP_PROTO(struct page *page, struct inode *inode, --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-fix-ext4-fast-commit-recovery-path-v5.10.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0010-fix-ext4-fast-commit-recovery-path-v5.10.patch deleted file mode 100644 index fb00a44b31..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-fix-ext4-fast-commit-recovery-path-v5.10.patch +++ /dev/null @@ -1,99 +0,0 @@ -From a28235f8ffa3c961640a835686dddb5ca600dfaf Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 26 Oct 2020 17:03:23 -0400 -Subject: [PATCH 10/19] fix: ext4: fast commit recovery path (v5.10) - -See upstream commit : - - commit 8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 - Author: Harshad Shirwadkar <harshadshirwadkar@gmail.com> - Date: Thu Oct 15 13:37:59 2020 -0700 - - ext4: fast commit recovery path - - This patch adds fast commit recovery path support for Ext4 file - system. We add several helper functions that are similar in spirit to - e2fsprogs journal recovery path handlers. Example of such functions - include - a simple block allocator, idempotent block bitmap update - function etc. Using these routines and the fast commit log in the fast - commit area, the recovery path (ext4_fc_replay()) performs fast commit - log recovery. - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: Ia65cf44e108f2df0b458f0d335f33a8f18f50baa ---- - instrumentation/events/lttng-module/ext4.h | 41 ++++++++++++++++++++++ - 1 file changed, 41 insertions(+) - -diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h -index b172c8d9..6e74abad 100644 ---- a/instrumentation/events/lttng-module/ext4.h -+++ b/instrumentation/events/lttng-module/ext4.h -@@ -1274,6 +1274,18 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent, - ) - ) - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+LTTNG_TRACEPOINT_EVENT(ext4_load_inode, -+ TP_PROTO(struct super_block *sb, unsigned long ino), -+ -+ TP_ARGS(sb, ino), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, sb->s_dev) -+ ctf_integer(ino_t, ino, ino) -+ ) -+) -+#else - LTTNG_TRACEPOINT_EVENT(ext4_load_inode, - TP_PROTO(struct inode *inode), - -@@ -1284,6 +1296,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_load_inode, - ctf_integer(ino_t, ino, inode->i_ino) - ) - ) -+#endif - - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)) - -@@ -1895,6 +1908,34 @@ LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_exit, - - #endif - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+LTTNG_TRACEPOINT_EVENT(ext4_fc_replay_scan, -+ TP_PROTO(struct super_block *sb, int error, int off), -+ -+ TP_ARGS(sb, error, off), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, sb->s_dev) -+ ctf_integer(int, error, error) -+ ctf_integer(int, off, off) -+ ) -+) -+ -+LTTNG_TRACEPOINT_EVENT(ext4_fc_replay, -+ TP_PROTO(struct super_block *sb, int tag, int ino, int priv1, int priv2), -+ -+ TP_ARGS(sb, tag, ino, priv1, priv2), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, sb->s_dev) -+ ctf_integer(int, tag, tag) -+ ctf_integer(int, ino, ino) -+ ctf_integer(int, priv1, priv1) -+ ctf_integer(int, priv2, priv2) -+ ) -+) -+#endif -+ - #endif /* LTTNG_TRACE_EXT4_H */ - - /* This part must be outside protection */ --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0012-fix-kvm-x86-mmu-Add-TDP-MMU-PF-handler-v5.10.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0012-fix-kvm-x86-mmu-Add-TDP-MMU-PF-handler-v5.10.patch deleted file mode 100644 index 8651bded99..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0012-fix-kvm-x86-mmu-Add-TDP-MMU-PF-handler-v5.10.patch +++ /dev/null @@ -1,82 +0,0 @@ -From e30866f96b3ab02639f429e4bd34e59b3a336579 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 26 Oct 2020 14:28:35 -0400 -Subject: [PATCH 12/19] fix: kvm: x86/mmu: Add TDP MMU PF handler (v5.10) - -See upstream commit : - - commit bb18842e21111a979e2e0e1c5d85c09646f18d51 - Author: Ben Gardon <bgardon@google.com> - Date: Wed Oct 14 11:26:50 2020 -0700 - - kvm: x86/mmu: Add TDP MMU PF handler - - Add functions to handle page faults in the TDP MMU. These page faults - are currently handled in much the same way as the x86 shadow paging - based MMU, however the ordering of some operations is slightly - different. Future patches will add eager NX splitting, a fast page fault - handler, and parallel page faults. - - Tested by running kvm-unit-tests and KVM selftests on an Intel Haswell - machine. This series introduced no new failures. - -Upstream-Status: Backport - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Change-Id: Ie56959cb6c77913d2f1188b0ca15da9114623a4e ---- - .../lttng-module/arch/x86/kvm/mmutrace.h | 20 ++++++++++++++++++- - probes/lttng-probe-kvm-x86-mmu.c | 5 +++++ - 2 files changed, 24 insertions(+), 1 deletion(-) - -diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h -index e5470400..86717835 100644 ---- a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h -+++ b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h -@@ -163,7 +163,25 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_prepare_zap_page, - TP_ARGS(sp) - ) - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+ -+LTTNG_TRACEPOINT_EVENT_MAP( -+ mark_mmio_spte, -+ -+ kvm_mmu_mark_mmio_spte, -+ -+ TP_PROTO(u64 *sptep, gfn_t gfn, u64 spte), -+ TP_ARGS(sptep, gfn, spte), -+ -+ TP_FIELDS( -+ ctf_integer_hex(void *, sptep, sptep) -+ ctf_integer(gfn_t, gfn, gfn) -+ ctf_integer(unsigned, access, spte & ACC_ALL) -+ ctf_integer(unsigned int, gen, get_mmio_spte_generation(spte)) -+ ) -+) -+ -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - - LTTNG_TRACEPOINT_EVENT_MAP( - mark_mmio_spte, -diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c -index 8f981865..5043c776 100644 ---- a/probes/lttng-probe-kvm-x86-mmu.c -+++ b/probes/lttng-probe-kvm-x86-mmu.c -@@ -31,6 +31,11 @@ - #include <../../arch/x86/kvm/mmutrace.h> - #endif - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+#include <../arch/x86/kvm/mmu.h> -+#include <../arch/x86/kvm/mmu/spte.h> -+#endif -+ - #undef TRACE_INCLUDE_PATH - #undef TRACE_INCLUDE_FILE - --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0014-fix-tracepoint-Optimize-using-static_call-v5.10.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0014-fix-tracepoint-Optimize-using-static_call-v5.10.patch deleted file mode 100644 index 5892a408b3..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0014-fix-tracepoint-Optimize-using-static_call-v5.10.patch +++ /dev/null @@ -1,196 +0,0 @@ -From bb346792c2cb6995ffc08d2084121935c6384865 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 26 Oct 2020 17:09:05 -0400 -Subject: [PATCH 14/19] fix: tracepoint: Optimize using static_call() (v5.10) - -See upstream commit : - - commit d25e37d89dd2f41d7acae0429039d2f0ae8b4a07 - Author: Steven Rostedt (VMware) <rostedt@goodmis.org> - Date: Tue Aug 18 15:57:52 2020 +0200 - - tracepoint: Optimize using static_call() - - Currently the tracepoint site will iterate a vector and issue indirect - calls to however many handlers are registered (ie. the vector is - long). - - Using static_call() it is possible to optimize this for the common - case of only having a single handler registered. In this case the - static_call() can directly call this handler. Otherwise, if the vector - is longer than 1, call a function that iterates the whole vector like - the current code. - -Upstream-Status: Backport - -Change-Id: I739dd84d62cc1a821b8bd8acff74fa29aa25d22f -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - lttng-statedump-impl.c | 80 +++++++++++++++++++++++++++++++-------- - probes/lttng.c | 7 +++- - tests/probes/lttng-test.c | 7 +++- - wrapper/tracepoint.h | 8 ++++ - 4 files changed, 84 insertions(+), 18 deletions(-) - -diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c -index a6fa71a5..67ecd33c 100644 ---- a/lttng-statedump-impl.c -+++ b/lttng-statedump-impl.c -@@ -55,26 +55,76 @@ - #define LTTNG_INSTRUMENTATION - #include <instrumentation/events/lttng-module/lttng-statedump.h> - --DEFINE_TRACE(lttng_statedump_block_device); --DEFINE_TRACE(lttng_statedump_end); --DEFINE_TRACE(lttng_statedump_interrupt); --DEFINE_TRACE(lttng_statedump_file_descriptor); --DEFINE_TRACE(lttng_statedump_start); --DEFINE_TRACE(lttng_statedump_process_state); --DEFINE_TRACE(lttng_statedump_process_pid_ns); -+LTTNG_DEFINE_TRACE(lttng_statedump_block_device, -+ TP_PROTO(struct lttng_session *session, -+ dev_t dev, const char *diskname), -+ TP_ARGS(session, dev, diskname)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_end, -+ TP_PROTO(struct lttng_session *session), -+ TP_ARGS(session)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_interrupt, -+ TP_PROTO(struct lttng_session *session, -+ unsigned int irq, const char *chip_name, -+ struct irqaction *action), -+ TP_ARGS(session, irq, chip_name, action)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_file_descriptor, -+ TP_PROTO(struct lttng_session *session, -+ struct files_struct *files, -+ int fd, const char *filename, -+ unsigned int flags, fmode_t fmode), -+ TP_ARGS(session, files, fd, filename, flags, fmode)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_start, -+ TP_PROTO(struct lttng_session *session), -+ TP_ARGS(session)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_process_state, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ int type, int mode, int submode, int status, -+ struct files_struct *files), -+ TP_ARGS(session, p, type, mode, submode, status, files)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_process_pid_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct pid_namespace *pid_ns), -+ TP_ARGS(session, p, pid_ns)); -+ - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) --DEFINE_TRACE(lttng_statedump_process_cgroup_ns); -+LTTNG_DEFINE_TRACE(lttng_statedump_process_cgroup_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct cgroup_namespace *cgroup_ns), -+ TP_ARGS(session, p, cgroup_ns)); - #endif --DEFINE_TRACE(lttng_statedump_process_ipc_ns); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_process_ipc_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct ipc_namespace *ipc_ns), -+ TP_ARGS(session, p, ipc_ns)); -+ - #ifndef LTTNG_MNT_NS_MISSING_HEADER --DEFINE_TRACE(lttng_statedump_process_mnt_ns); -+LTTNG_DEFINE_TRACE(lttng_statedump_process_mnt_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct mnt_namespace *mnt_ns), -+ TP_ARGS(session, p, mnt_ns)); - #endif --DEFINE_TRACE(lttng_statedump_process_net_ns); --DEFINE_TRACE(lttng_statedump_process_user_ns); --DEFINE_TRACE(lttng_statedump_process_uts_ns); --DEFINE_TRACE(lttng_statedump_network_interface); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_network_interface, -+ TP_PROTO(struct lttng_session *session, -+ struct net_device *dev, struct in_ifaddr *ifa), -+ TP_ARGS(session, dev, ifa)); -+ - #ifdef LTTNG_HAVE_STATEDUMP_CPU_TOPOLOGY --DEFINE_TRACE(lttng_statedump_cpu_topology); -+LTTNG_DEFINE_TRACE(lttng_statedump_cpu_topology, -+ TP_PROTO(struct lttng_session *session, struct cpuinfo_x86 *c), -+ TP_ARGS(session, c)); - #endif - - struct lttng_fd_ctx { -diff --git a/probes/lttng.c b/probes/lttng.c -index 05bc1388..7ddaa69f 100644 ---- a/probes/lttng.c -+++ b/probes/lttng.c -@@ -8,7 +8,7 @@ - */ - - #include <linux/module.h> --#include <linux/tracepoint.h> -+#include <wrapper/tracepoint.h> - #include <linux/uaccess.h> - #include <linux/gfp.h> - #include <linux/fs.h> -@@ -32,7 +32,10 @@ - #define LTTNG_LOGGER_COUNT_MAX 1024 - #define LTTNG_LOGGER_FILE "lttng-logger" - --DEFINE_TRACE(lttng_logger); -+LTTNG_DEFINE_TRACE(lttng_logger, -+ PARAMS(const char __user *text, size_t len), -+ PARAMS(text, len) -+); - - static struct proc_dir_entry *lttng_logger_dentry; - -diff --git a/tests/probes/lttng-test.c b/tests/probes/lttng-test.c -index b450e7d7..a4fa0645 100644 ---- a/tests/probes/lttng-test.c -+++ b/tests/probes/lttng-test.c -@@ -25,7 +25,12 @@ - #define LTTNG_INSTRUMENTATION - #include <instrumentation/events/lttng-module/lttng-test.h> - --DEFINE_TRACE(lttng_test_filter_event); -+LTTNG_DEFINE_TRACE(lttng_test_filter_event, -+ PARAMS(int anint, int netint, long *values, -+ char *text, size_t textlen, -+ char *etext, uint32_t * net_values), -+ PARAMS(anint, netint, values, text, textlen, etext, net_values) -+); - - #define LTTNG_TEST_FILTER_EVENT_FILE "lttng-test-filter-event" - -diff --git a/wrapper/tracepoint.h b/wrapper/tracepoint.h -index c4ba0123..bc19d8c1 100644 ---- a/wrapper/tracepoint.h -+++ b/wrapper/tracepoint.h -@@ -14,6 +14,14 @@ - #include <linux/tracepoint.h> - #include <linux/module.h> - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0)) -+#define LTTNG_DEFINE_TRACE(name, proto, args) \ -+ DEFINE_TRACE(name, PARAMS(proto), PARAMS(args)) -+#else -+#define LTTNG_DEFINE_TRACE(name, proto, args) \ -+ DEFINE_TRACE(name) -+#endif -+ - #ifndef HAVE_KABI_2635_TRACEPOINT - - #define kabi_2635_tracepoint_probe_register tracepoint_probe_register --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0016-fix-statedump-undefined-symbols-caused-by-incorrect-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0016-fix-statedump-undefined-symbols-caused-by-incorrect-.patch deleted file mode 100644 index e848e16f59..0000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0016-fix-statedump-undefined-symbols-caused-by-incorrect-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 31f8bf794172102e9758928b481856c4a8800a7f Mon Sep 17 00:00:00 2001 -From: He Zhe <zhe.he@windriver.com> -Date: Mon, 23 Nov 2020 18:14:25 +0800 -Subject: [PATCH 16/19] fix: statedump: undefined symbols caused by incorrect - patch backport - -bb346792c2cb ("fix: tracepoint: Optimize using static_call() (v5.10)") -misses three definitions and causes the following build failures. - -ERROR: "__tracepoint_lttng_statedump_process_net_ns" [lttng-statedump.ko] undefined! -ERROR: "__tracepoint_lttng_statedump_process_user_ns" [lttng-statedump.ko] undefined! -ERROR: "__tracepoint_lttng_statedump_process_uts_ns" [lttng-statedump.ko] undefined! - -Fixes: #1290 - -Upstream-Status: Backport - -Signed-off-by: He Zhe <zhe.he@windriver.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> ---- - lttng-statedump-impl.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c -index 67ecd33c..cf803a73 100644 ---- a/lttng-statedump-impl.c -+++ b/lttng-statedump-impl.c -@@ -116,6 +116,24 @@ LTTNG_DEFINE_TRACE(lttng_statedump_process_mnt_ns, - TP_ARGS(session, p, mnt_ns)); - #endif - -+LTTNG_DEFINE_TRACE(lttng_statedump_process_net_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct net *net_ns), -+ TP_ARGS(session, p, net_ns)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_process_user_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct user_namespace *user_ns), -+ TP_ARGS(session, p, user_ns)); -+ -+LTTNG_DEFINE_TRACE(lttng_statedump_process_uts_ns, -+ TP_PROTO(struct lttng_session *session, -+ struct task_struct *p, -+ struct uts_namespace *uts_ns), -+ TP_ARGS(session, p, uts_ns)); -+ - LTTNG_DEFINE_TRACE(lttng_statedump_network_interface, - TP_PROTO(struct lttng_session *session, - struct net_device *dev, struct in_ifaddr *ifa), --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb index 3515e4f51e..ca79e27df6 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb @@ -12,12 +12,6 @@ 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-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch \ - file://0007-fix-objtool-Rename-frame.h-objtool.h-v5.10.patch \ - file://0009-fix-btrfs-make-ordered-extent-tracepoint-take-btrfs_.patch \ - file://0010-fix-ext4-fast-commit-recovery-path-v5.10.patch \ - file://0012-fix-kvm-x86-mmu-Add-TDP-MMU-PF-handler-v5.10.patch \ - file://0014-fix-tracepoint-Optimize-using-static_call-v5.10.patch \ - file://0016-fix-statedump-undefined-symbols-caused-by-incorrect-.patch \ " SRC_URI[sha256sum] = "673ef85c9f03e9b8fed10795e09d4e68add39404b70068d08b10f7b85754d7f0" @@ -43,7 +37,7 @@ SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.1 file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ " -SRCREV_class-devupstream = "be71b60a327d7ad2588abc5cad2861177119972b" -PV_class-devupstream = "2.12.3+git${SRCPV}" +SRCREV_class-devupstream = "ad594e3a953db1b0c3c059fde45b5a5494f6be78" +PV_class-devupstream = "2.12.2+git${SRCPV}" S_class-devupstream = "${WORKDIR}/git" SRCREV_FORMAT ?= "lttng_git" 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 index 08c1423310..f2c14ecc94 100644 --- 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 @@ -1,4 +1,4 @@ -From de9fc501e775cae05f1f87534b4237cd78e8d9a8 Mon Sep 17 00:00:00 2001 +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 @@ -9,16 +9,15 @@ 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 | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) + tests/regression/Makefile.am | 4 ---- + 1 file changed, 4 deletions(-) diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am -index cbac90d..d467886 100644 +index 73eb9f7..b92bdbd 100644 --- a/tests/regression/Makefile.am +++ b/tests/regression/Makefile.am -@@ -11,16 +11,10 @@ TESTS = tools/filtering/test_invalid_filter \ +@@ -9,14 +9,10 @@ TESTS = tools/filtering/test_invalid_filter \ tools/filtering/test_valid_filter \ tools/streaming/test_ust \ tools/health/test_thread_ok \ @@ -27,29 +26,9 @@ index cbac90d..d467886 100644 - tools/live/test_lttng_ust \ tools/tracefile-limits/test_tracefile_count \ tools/tracefile-limits/test_tracefile_size \ -- tools/exclusion/test_exclusion \ + 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_load \ tools/save-load/test_autoload \ - tools/mi/test_mi \ - tools/wildcard/test_event_wildcard \ -@@ -38,8 +32,7 @@ TESTS = tools/filtering/test_invalid_filter \ - tools/working-directory/test_relayd_working_directory \ - tools/notification/test_notification_multi_app \ - tools/clear/test_ust \ -- tools/clear/test_kernel \ -- tools/tracker/test_event_tracker -+ tools/clear/test_kernel - - if HAVE_LIBLTTNG_UST_CTL - SUBDIRS += ust -@@ -60,7 +53,6 @@ TESTS += ust/before-after/test_before_after \ - ust/multi-lib/test_multi_lib \ - ust/rotation-destroy-flush/test_rotation_destroy_flush \ - ust/namespaces/test_ns_contexts \ -- ust/namespaces/test_ns_contexts_change \ - tools/metadata/test_ust \ - tools/relayd-grouping/test_ust - endif # HAVE_LIBLTTNG_UST_CTL |