From: Liyin Zhang <liyin.zhang...@windriver.com> This patch fixes the following build error after kernel rebase. lttng-modules-2.13.14/src/probes/../../include/lttng/define_trace.h:87, lttng-modules-2.13.14/src/probes/../../include/instrumentation/events/kmem.h:576, lttng-modules-2.13.14/src/probes/lttng-probe-kmem.c:35: ../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for 'trace_mm_page_alloc_zone_locked'; have 'void(struct page *, unsigned int, int)' 133 | void trace_##_name(_proto); | ^~~~~~ ../../include/instrumentation/events/kmem.h:444:1: note: in expansion of macro 'LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP' 444 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_alloc_zone_locked, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel-source/include/trace/events/kmem.h:9, from lttng-modules-2.13.14/src/probes/lttng-probe-kmem.c:24: kernel-source/include/linux/tracepoint.h:244:28: note: previous definition of 'trace_mm_page_alloc_zone_locked' with type 'void(struct page *, unsigned int, int, int)' 244 | static inline void trace_##name(proto) \ | ^~~~~~ kernel-source/include/linux/tracepoint.h:416:9: note: in expansion of macro '__DECLARE_TRACE' 416 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ kernel-source/include/linux/tracepoint.h:539:9: note: in expansion of macro 'DECLARE_TRACE' 539 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ kernel-source/include/trace/events/kmem.h:259:1: note: in expansion of macro 'DEFINE_EVENT' 259 | DEFINE_EVENT(mm_page, mm_page_alloc_zone_locked, | ^~~~~~~~~~~~
Signed-off-by: Liyin Zhang <liyin.zhang...@windriver.com> Signed-off-by: Steve Sakoman <st...@sakoman.com> --- ...c-fix-tracepoint-mm_page_alloc_zone_.patch | 61 +++++++++++++++++++ .../lttng/lttng-modules_2.13.14.bb | 1 + 2 files changed, 62 insertions(+) create mode 100644 meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch new file mode 100644 index 0000000000..abcc519e81 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch @@ -0,0 +1,61 @@ +From 6479c4ae43e7a2096b97c800ece57defd0ba62b7 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjean...@efficios.com> +Date: Tue, 12 Nov 2024 11:19:23 -0500 +Subject: [PATCH] fix: mm/page_alloc: fix tracepoint + mm_page_alloc_zone_locked() (v5.15.171) + +See upstream backported commit: + + commit 28e7a507196fefd119e7ca2286840f1a9aad5e8a + Author: Wonhyuk Yang <vvghjk1...@gmail.com> + Date: Thu May 19 14:08:54 2022 -0700 + + mm/page_alloc: fix tracepoint mm_page_alloc_zone_locked() + + [ Upstream commit 10e0f7530205799e7e971aba699a7cb3a47456de ] + + Currently, trace point mm_page_alloc_zone_locked() doesn't show correct + information. + + First, when alloc_flag has ALLOC_HARDER/ALLOC_CMA, page can be allocated + from MIGRATE_HIGHATOMIC/MIGRATE_CMA. Nevertheless, tracepoint use + requested migration type not MIGRATE_HIGHATOMIC and MIGRATE_CMA. + + Second, after commit 44042b4498728 ("mm/page_alloc: allow high-order pages + to be stored on the per-cpu lists") percpu-list can store high order + pages. But trace point determine whether it is a refiil of percpu-list by + comparing requested order and 0. + + To handle these problems, make mm_page_alloc_zone_locked() only be called + by __rmqueue_smallest with correct migration type. With a new argument + called percpu_refill, it can show roughly whether it is a refill of + percpu-list. + + Link: https://lkml.kernel.org/r/20220512025307.57924-1-vvghjk1...@gmail.com + +Change-Id: Ib76feb79d95e9f93c84c3aa1b946e57ac2e2666a +Signed-off-by: Michael Jeanson <mjean...@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> + +Upstream-Status: Backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=6479c4ae43e7a2096b97c800ece57defd0ba62b7] + +Signed-off-by: Liyin Zhang <liyin.zhang...@windriver.com> +--- + include/instrumentation/events/kmem.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/instrumentation/events/kmem.h b/include/instrumentation/events/kmem.h +index 9a0f0bbf..96a5d9c2 100644 +--- a/include/instrumentation/events/kmem.h ++++ b/include/instrumentation/events/kmem.h +@@ -381,6 +381,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc, kmem_mm_page_alloc, + ) + + #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0) || \ ++ LTTNG_KERNEL_RANGE(5,15,171, 5,16,0) || \ + LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0)) + + LTTNG_TRACEPOINT_EVENT_CLASS(kmem_mm_page, +-- +2.25.1 + diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.13.14.bb b/meta/recipes-kernel/lttng/lttng-modules_2.13.14.bb index a3e29ab7b7..e8af0eca44 100644 --- a/meta/recipes-kernel/lttng/lttng-modules_2.13.14.bb +++ b/meta/recipes-kernel/lttng/lttng-modules_2.13.14.bb @@ -11,6 +11,7 @@ include lttng-platforms.inc SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0009-Rename-genhd-wrapper-to-blkdev.patch \ + file://0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch \ " # Use :append here so that the patch is applied also when using devupstream -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#207665): https://lists.openembedded.org/g/openembedded-core/message/207665 Mute This Topic: https://lists.openembedded.org/mt/109731160/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-