From 3f96cab3c4c561464d074af639eb61c9fb3c8c60 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Fri, 24 Nov 2023 14:30:49 -0500 Subject: lttng-modules: fix build for v6.7+ While working on the update to linux-yocto-dev lttng-modules needed some tweaks (as usual). With these three patches (submitted to lttng-dev), we can once again build core-image-kernel-dev for v6.7+ (From OE-Core rev: b8b7b4d9274bde36f43c43207c463730f22e1f5f) Signed-off-by: Bruce Ashfield Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- ...oc_id-and-cpu_core_id-moved-in-linux-6.7..patch | 79 ++++++++++++++++++++++ ...change-missing-CONFIG_TRACEPOINTS-to-warn.patch | 10 +-- ...-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch | 35 ++++++++++ ...can-signatures-changed-in-linux-6.7.0-rc1.patch | 71 +++++++++++++++++++ meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb | 3 + 5 files changed, 193 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch create mode 100644 meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch create mode 100644 meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch (limited to 'meta') diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch new file mode 100644 index 0000000000..598f5a7efa --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch @@ -0,0 +1,79 @@ +From 4f32efe70b618c4721bf197692fc9d709d352528 Mon Sep 17 00:00:00 2001 +From: Kienan Stewart +Date: Mon, 20 Nov 2023 11:27:12 -0500 +Subject: [PATCH 1/2] fix: phys_proc_id and cpu_core_id moved in linux + 6.7.0-rc1 + +See upstream commit: + + commit 02fb601d27a7abf60d52b21bdf5b100a8d63da3f + Author: Thomas Gleixner + Date: Mon Aug 14 10:18:30 2023 +0200 + + x86/cpu: Move phys_proc_id into topology info + + Rename it to pkg_id which is the terminology used in the kernel. + + No functional change. + +See upstream commit: + + commit e95256335d45cc965cd12c423535002974313340 + Author: Thomas Gleixner + Date: Mon Aug 14 10:18:34 2023 +0200 + + x86/cpu: Move cpu_core_id into topology info + + Rename it to core_id and stick it to the other ID fields. + + No functional change. + +Upstream-Status: Backport [commit 4f32efe7] + +Signed-off-by: Kienan Stewart +Signed-off-by: Mathieu Desnoyers +Change-Id: I574b02430210d5bb72c4b9db901d0e3a6dc7bea0 +--- + .../instrumentation/events/lttng-statedump.h | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/include/instrumentation/events/lttng-statedump.h b/include/instrumentation/events/lttng-statedump.h +index 642aa356..4831a941 100644 +--- a/include/instrumentation/events/lttng-statedump.h ++++ b/include/instrumentation/events/lttng-statedump.h +@@ -253,6 +253,23 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt, + + #define LTTNG_HAVE_STATEDUMP_CPU_TOPOLOGY + ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0)) ++LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology, ++ TP_PROTO(struct lttng_kernel_session *session, struct cpuinfo_x86 *c), ++ TP_ARGS(session, c), ++ TP_FIELDS( ++ ctf_string(architecture, "x86") ++ ctf_integer(uint16_t, cpu_id, c->cpu_index) ++ ctf_string(vendor, c->x86_vendor_id[0] ? c->x86_vendor_id : "unknown") ++ ctf_integer(uint8_t, family, c->x86) ++ ctf_integer(uint8_t, model, c->x86_model) ++ ctf_string(model_name, c->x86_model_id[0] ? c->x86_model_id : "unknown") ++ ctf_integer(uint16_t, physical_id, c->topo.pkg_id) ++ ctf_integer(uint16_t, core_id, c->topo.core_id) ++ ctf_integer(uint16_t, cores, c->booted_cores) ++ ) ++) ++#else + LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology, + TP_PROTO(struct lttng_kernel_session *session, struct cpuinfo_x86 *c), + TP_ARGS(session, c), +@@ -268,6 +285,8 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology, + ctf_integer(uint16_t, cores, c->booted_cores) + ) + ) ++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0) */ ++ + #endif /* CONFIG_X86_32 || CONFIG_X86_64 */ + + #endif /* LTTNG_TRACE_LTTNG_STATEDUMP_H */ +-- +2.34.1 + diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch index 76a5787c37..120528bf9c 100644 --- a/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch +++ b/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch @@ -19,10 +19,10 @@ Signed-off-by: Bruce Ashfield src/Kbuild | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/src/Kbuild b/src/Kbuild -index 7137874..04eb5c9 100644 ---- a/src/Kbuild -+++ b/src/Kbuild +Index: lttng-modules-2.13.10/src/Kbuild +=================================================================== +--- lttng-modules-2.13.10.orig/src/Kbuild ++++ lttng-modules-2.13.10/src/Kbuild @@ -2,10 +2,13 @@ ifdef CONFIG_LOCALVERSION # Check if dot-config is included. @@ -38,7 +38,7 @@ index 7137874..04eb5c9 100644 TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/.. lttng_check_linux_version = $(shell pwd)/include/linux/version.h -@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump-impl.o +@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump- obj-$(CONFIG_LTTNG) += probes/ obj-$(CONFIG_LTTNG) += lib/ obj-$(CONFIG_LTTNG) += tests/ diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch new file mode 100644 index 0000000000..b374483517 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch @@ -0,0 +1,35 @@ +From 76e4ea0c33a8c7726c0df28083d5c8bc1c1335e8 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Thu, 23 Nov 2023 13:49:51 -0500 +Subject: [PATCH] wrapper/fdtable: adjust fd lookup to v6.7+ + +commit 0ede61d8589cc2d93 [file: convert to SLAB_TYPESAFE_BY_RCU] +renames lookup_fd_rcu to lookup_fdget_rcu, so we need to +version adjust the fdtable wrapper accordingly. + +Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2023-November/030667.html] + +Signed-off-by: Bruce Ashfield +--- + include/wrapper/fdtable.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/include/wrapper/fdtable.h b/include/wrapper/fdtable.h +index fa5f7207..aaf2b9e7 100644 +--- a/include/wrapper/fdtable.h ++++ b/include/wrapper/fdtable.h +@@ -16,7 +16,11 @@ + static inline + struct file *lttng_lookup_fd_rcu(unsigned int fd) + { ++#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(6,7,0)) + return lookup_fd_rcu(fd); ++#else ++ return lookup_fdget_rcu(fd); ++#endif + } + #else + static inline +-- +2.34.1 + diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch new file mode 100644 index 0000000000..a1b979c95a --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch @@ -0,0 +1,71 @@ +From aee34d916bdae79abcf103ef098cbb2e0c20bf83 Mon Sep 17 00:00:00 2001 +From: Kienan Stewart +Date: Mon, 20 Nov 2023 11:33:14 -0500 +Subject: [PATCH 2/2] fix: mm, vmscan signatures changed in linux 6.7.0-rc1 + +See upstream commit: + + commit 3dfbb555c98ac55b9d911f9af0e35014b445fb41 + Author: Vlastimil Babka + Date: Thu Sep 14 15:16:39 2023 +0200 + + mm, vmscan: remove ISOLATE_UNMAPPED + + This isolate_mode_t flag is effectively unused since 89f6c88a6ab4 ("mm: + __isolate_lru_page_prepare() in isolate_migratepages_block()") as + sc->may_unmap is now checked directly (and only node_reclaim has a mode + that sets it to 0). The last remaining place is mm_vmscan_lru_isolate + tracepoint for the isolate_mode parameter. That one was mainly used to + indicate the active/inactive mode, which the trace-vmscan-postprocess.pl + script consumed, but that got silently broken. After fixing the script by + the previous patch, it does not need the isolate_mode anymore. So just + remove the parameter and with that the whole ISOLATE_UNMAPPED flag. + +Upstream-Status: Backport [commit aee34d91] + +Signed-off-by: Kienan Stewart +Signed-off-by: Mathieu Desnoyers +Change-Id: Ie7346886d926a1a9d20bcb1570c587c5e943a1c3 +--- + include/instrumentation/events/mm_vmscan.h | 28 +++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +Index: lttng-modules-2.13.10/include/instrumentation/events/mm_vmscan.h +=================================================================== +--- lttng-modules-2.13.10.orig/include/instrumentation/events/mm_vmscan.h ++++ lttng-modules-2.13.10/include/instrumentation/events/mm_vmscan.h +@@ -369,7 +369,33 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_sla + ) + #endif + +-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0)) ++LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate, ++ ++ TP_PROTO(int classzone_idx, ++ int order, ++ unsigned long nr_requested, ++ unsigned long nr_scanned, ++ unsigned long nr_skipped, ++ unsigned long nr_taken, ++ int lru ++ ), ++ ++ TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped, ++ nr_taken, lru ++ ), ++ ++ TP_FIELDS( ++ ctf_integer(int, classzone_idx, classzone_idx) ++ ctf_integer(int, order, order) ++ ctf_integer(unsigned long, nr_requested, nr_requested) ++ ctf_integer(unsigned long, nr_scanned, nr_scanned) ++ ctf_integer(unsigned long, nr_skipped, nr_skipped) ++ ctf_integer(unsigned long, nr_taken, nr_taken) ++ ctf_integer(int, lru, lru) ++ ) ++) ++#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) + LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate, + + TP_PROTO(int classzone_idx, diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb b/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb index 4c0e37ebc7..a7e3096c6a 100644 --- a/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb +++ b/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb @@ -10,6 +10,9 @@ inherit module include lttng-platforms.inc SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0001-fix-phys_proc_id-and-cpu_core_id-moved-in-linux-6.7..patch \ + file://0002-fix-mm-vmscan-signatures-changed-in-linux-6.7.0-rc1.patch \ + file://0001-wrapper-fdtable-adjust-fd-lookup-to-v6.7.patch \ " # Use :append here so that the patch is applied also when using devupstream -- cgit v1.2.3-54-g00ecf