summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2024-04-03 14:10:32 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-04-04 14:05:03 +0100
commitacdb1bb14e15947c5e4dd0f30270a0eaa7083edb (patch)
tree2471c505ff0abd574c740181999ce5f1902f90ce /meta/recipes-kernel
parent0447fc142b0e5699a5b4ba076dabf07f58d666fd (diff)
downloadpoky-acdb1bb14e15947c5e4dd0f30270a0eaa7083edb.tar.gz
lttng-modules: update to v2.13.12
We drop our previously backported patches for v6.8 kernels as they are part of the 2.13.12 release of lttng and we add backports for v6.9+ kernels. Bumping lttng-modules to version v2.13.12-7-g52eb2ee9, which comprises the following commits: 52eb2ee9 Fix: dev_base_lock removed in linux 6.9-rc1 175fe77c Fix: mm_compaction_migratepages changed in linux 6.9-rc1 303434ab Fix: ASoC add component to set_bias_level events in linux 6.9-rc1 88c4e0fe Fix: ASoC snd_doc_dapm on linux 6.9-rc1 578ab207 Fix: build kvm probe on EL 8.4+ 057ad399 Fix: support ext4_journal_start on EL 8.4+ 3ca21738 Fix: correct RHEL range for kmem_cache_free define 4ba4f0ec Version 2.13.12 1124749b docs: Add supported versions and fix-backport policy c302cf1d docs: Add links to project resources d6b75831 Fix: Correct minimum version in jbd2 SLE kernel range 9e6736d6 Fix: Handle recent SLE major version codes 5d331562 Fix: build on sles15sp4 f6800492 Compile fixes for RHEL 9.3 kernels d988f04a Fix: ext4_discard_preallocations changed in linux 6.8.0-rc3 616c60b9 Fix: btrfs_get_extent flags and compress_type changed in linux 6.8.0-rc1 8d195927 Fix: btrfs_chunk tracepoints changed in linux 6.8.0-rc1 7e8d89d1 Fix: strlcpy removed in linux 6.8.0-rc1 f4c1678d Fix: timer_start changed in linux 6.8.0-rc1 60a1e809 Fix: sched_stat_runtime changed in linux 6.8.0-rc1 (From OE-Core rev: f8be1a87f1a7e7de714d19a6b3afe59e6f177e7d) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch93
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch70
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch132
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch100
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch81
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch46
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch124
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch57
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch88
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0006-Fix-ext4_discard_preallocations-changed-in-linux-6.8.patch52
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb (renamed from meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb)12
11 files changed, 368 insertions, 487 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch
new file mode 100644
index 0000000000..9d5fd0de60
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch
@@ -0,0 +1,93 @@
1From fec007d9630e010062cf5699a08460f71f46b527 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 08:54:42 -0400
4Subject: [PATCH 1/4] Fix: ASoC snd_doc_dapm on linux 6.9-rc1
5
6See upstream commit:
7
8 commit 7df3eb4cdb6bbfa482f51548b9fd47c2723c68ba
9 Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
10 Date: Wed Mar 6 10:30:01 2024 +0100
11
12 ASoC: trace: add event to snd_soc_dapm trace events
13
14 Add the event value to the snd_soc_dapm_start and snd_soc_dapm_done trace
15 events to make them more informative.
16
17 Trace before:
18
19 aplay-229 [000] 250.140309: snd_soc_dapm_start: card=vscn-2046
20 aplay-229 [000] 250.167531: snd_soc_dapm_done: card=vscn-2046
21 aplay-229 [000] 251.169588: snd_soc_dapm_start: card=vscn-2046
22 aplay-229 [000] 251.195245: snd_soc_dapm_done: card=vscn-2046
23
24 Trace after:
25
26 aplay-214 [000] 693.290612: snd_soc_dapm_start: card=vscn-2046 event=1
27 aplay-214 [000] 693.315508: snd_soc_dapm_done: card=vscn-2046 event=1
28 aplay-214 [000] 694.537349: snd_soc_dapm_start: card=vscn-2046 event=2
29 aplay-214 [000] 694.563241: snd_soc_dapm_done: card=vscn-2046 event=2
30
31Upstream-Status: Backport [88c4e0fe Fix: ASoC snd_doc_dapm on linux 6.9-rc1]
32
33Change-Id: If0d33544b8dd1dfb3d12ca9390892190fc0444b0
34Signed-off-by: Kienan Stewart <kstewart@efficios.com>
35Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
36---
37 include/instrumentation/events/asoc.h | 33 +++++++++++++++++++++++++++
38 1 file changed, 33 insertions(+)
39
40diff --git a/include/instrumentation/events/asoc.h b/include/instrumentation/events/asoc.h
41index 21d13a0f..5126d4c1 100644
42--- a/include/instrumentation/events/asoc.h
43+++ b/include/instrumentation/events/asoc.h
44@@ -51,6 +51,38 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
45
46 )
47
48+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
49+LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
50+
51+ TP_PROTO(struct snd_soc_card *card, int event),
52+
53+ TP_ARGS(card, event),
54+
55+ TP_FIELDS(
56+ ctf_string(name, card->name)
57+ ctf_integer(int, event, event)
58+ )
59+)
60+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_start,
61+
62+ asoc_snd_soc_dapm_start,
63+
64+ TP_PROTO(struct snd_soc_card *card, int event),
65+
66+ TP_ARGS(card, event)
67+
68+)
69+
70+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
71+
72+ asoc_snd_soc_dapm_done,
73+
74+ TP_PROTO(struct snd_soc_card *card, int event),
75+
76+ TP_ARGS(card, event)
77+
78+)
79+#else
80 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
81
82 TP_PROTO(struct snd_soc_card *card),
83@@ -81,6 +113,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
84 TP_ARGS(card)
85
86 )
87+#endif
88
89 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget,
90
91--
922.39.2
93
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch
deleted file mode 100644
index a0d932c7b7..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch
+++ /dev/null
@@ -1,70 +0,0 @@
1From 9e59c2f6387aeb832ae3af3095f987529722e08f Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 11:10:37 -0500
4Subject: [PATCH 1/5] Fix: sched_stat_runtime changed in linux 6.8.0-rc1
5
6See upstream commit:
7
8 commit 5fe6ec8f6ab549b6422e41551abb51802bd48bc7
9 Author: Peter Zijlstra <peterz@infradead.org>
10 Date: Mon Nov 6 13:41:43 2023 +0100
11
12 sched: Remove vruntime from trace_sched_stat_runtime()
13
14 Tracing the runtime delta makes sense, observer can sum over time.
15 Tracing the absolute vruntime makes less sense, inconsistent:
16 absolute-vs-delta, but also vruntime delta can be computed from
17 runtime delta.
18
19 Removing the vruntime thing also makes the two tracepoint sites
20 identical, allowing to unify the code in a later patch.
21
22Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
23
24Change-Id: I24ebb4e06dbb646a1af75ac62b74f3821ff197de
25Signed-off-by: Kienan Stewart <kstewart@efficios.com>
26Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
27---
28 include/instrumentation/events/sched.h | 19 +++++++++++++++++++
29 1 file changed, 19 insertions(+)
30
31diff --git a/include/instrumentation/events/sched.h b/include/instrumentation/events/sched.h
32index 066a0f8..24cf37c 100644
33--- a/include/instrumentation/events/sched.h
34+++ b/include/instrumentation/events/sched.h
35@@ -646,6 +646,24 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_blocked,
36 TP_ARGS(tsk, delay))
37 #endif
38
39+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
40+/*
41+ * Tracepoint for accounting runtime (time the task is executing
42+ * on a CPU).
43+ */
44+LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
45+
46+ TP_PROTO(struct task_struct *tsk, u64 runtime),
47+
48+ TP_ARGS(tsk, runtime),
49+
50+ TP_FIELDS(
51+ ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
52+ ctf_integer(pid_t, tid, tsk->pid)
53+ ctf_integer(u64, runtime, runtime)
54+ )
55+)
56+#else
57 /*
58 * Tracepoint for accounting runtime (time the task is executing
59 * on a CPU).
60@@ -663,6 +681,7 @@ LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
61 ctf_integer(u64, vruntime, vruntime)
62 )
63 )
64+#endif
65
66 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,12,0) || \
67 LTTNG_RT_KERNEL_RANGE(4,9,27,18, 4,10,0,0) || \
68--
692.39.2
70
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch
new file mode 100644
index 0000000000..6ea10ffc91
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch
@@ -0,0 +1,132 @@
1From d8379ec6365a925db33cae94fb6783cdbdb6a922 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 09:40:29 -0400
4Subject: [PATCH 2/4] Fix: ASoC add component to set_bias_level events in linux
5 6.9-rc1
6
7See upstream commit:
8
9 commit 6ef46a69ec32fe1cf56de67742fcd01af4bf48af
10 Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
11 Date: Wed Mar 6 10:30:00 2024 +0100
12
13 ASoC: trace: add component to set_bias_level trace events
14
15 The snd_soc_bias_level_start and snd_soc_bias_level_done trace events
16 currently look like:
17
18 aplay-229 [000] 1250.140778: snd_soc_bias_level_start: card=vscn-2046 val=1
19 aplay-229 [000] 1250.140784: snd_soc_bias_level_done: card=vscn-2046 val=1
20 aplay-229 [000] 1250.140786: snd_soc_bias_level_start: card=vscn-2046 val=2
21 aplay-229 [000] 1250.140788: snd_soc_bias_level_done: card=vscn-2046 val=2
22 kworker/u8:1-21 [000] 1250.140871: snd_soc_bias_level_start: card=vscn-2046 val=1
23 kworker/u8:0-11 [000] 1250.140951: snd_soc_bias_level_start: card=vscn-2046 val=1
24 kworker/u8:0-11 [000] 1250.140956: snd_soc_bias_level_done: card=vscn-2046 val=1
25 kworker/u8:0-11 [000] 1250.140959: snd_soc_bias_level_start: card=vscn-2046 val=2
26 kworker/u8:0-11 [000] 1250.140961: snd_soc_bias_level_done: card=vscn-2046 val=2
27 kworker/u8:1-21 [000] 1250.167219: snd_soc_bias_level_done: card=vscn-2046 val=1
28 kworker/u8:1-21 [000] 1250.167222: snd_soc_bias_level_start: card=vscn-2046 val=2
29 kworker/u8:1-21 [000] 1250.167232: snd_soc_bias_level_done: card=vscn-2046 val=2
30 kworker/u8:0-11 [000] 1250.167440: snd_soc_bias_level_start: card=vscn-2046 val=3
31 kworker/u8:0-11 [000] 1250.167444: snd_soc_bias_level_done: card=vscn-2046 val=3
32 kworker/u8:1-21 [000] 1250.167497: snd_soc_bias_level_start: card=vscn-2046 val=3
33 kworker/u8:1-21 [000] 1250.167506: snd_soc_bias_level_done: card=vscn-2046 val=3
34
35 There are clearly multiple calls, one per component, but they cannot be
36 discriminated from each other.
37
38 Change the ftrace events to also print the component name, to make it clear
39 which part of the code is involved. This requires changing the passed value
40 from a struct snd_soc_card, where the DAPM context is not kwown, to a
41 struct snd_soc_dapm_context where it is obviously known but the a card
42 pointer is also available.
43
44 With this change, the resulting trace becomes:
45
46 aplay-247 [000] 1436.357332: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=1
47 aplay-247 [000] 1436.357338: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=1
48 aplay-247 [000] 1436.357340: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=2
49 aplay-247 [000] 1436.357343: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=2
50 kworker/u8:4-215 [000] 1436.357437: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=1
51 kworker/u8:5-231 [000] 1436.357518: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=1
52 kworker/u8:5-231 [000] 1436.357523: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=1
53 kworker/u8:5-231 [000] 1436.357526: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=2
54 kworker/u8:5-231 [000] 1436.357528: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=2
55 kworker/u8:4-215 [000] 1436.383217: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=1
56 kworker/u8:4-215 [000] 1436.383221: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=2
57 kworker/u8:4-215 [000] 1436.383231: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=2
58 kworker/u8:5-231 [000] 1436.383468: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=3
59 kworker/u8:5-231 [000] 1436.383472: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=3
60 kworker/u8:4-215 [000] 1436.383503: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=3
61 kworker/u8:4-215 [000] 1436.383513: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=3
62
63Upstream-Status: Backport [303434ab Fix: ASoC add component to set_bias_level events in linux 6.9-rc1]
64
65Change-Id: I959f1680c002acdf29828b968d3975247f5433d8
66Signed-off-by: Kienan Stewart <kstewart@efficios.com>
67Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
68---
69 include/instrumentation/events/asoc.h | 36 +++++++++++++++++++++++++++
70 1 file changed, 36 insertions(+)
71
72Index: lttng-modules-2.13.12/include/instrumentation/events/asoc.h
73===================================================================
74--- lttng-modules-2.13.12.orig/include/instrumentation/events/asoc.h
75+++ lttng-modules-2.13.12/include/instrumentation/events/asoc.h
76@@ -10,6 +10,7 @@
77 #include <lttng/kernel-version.h>
78
79 #define DAPM_DIRECT "(direct)"
80+#define DAPM_COMPONENT_NONE "(none)"
81
82 #ifndef _TRACE_ASOC_DEF
83 #define _TRACE_ASOC_DEF
84@@ -119,6 +120,40 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
85 )
86 #endif
87
88+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
89+LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context,
90+
91+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
92+
93+ TP_ARGS(dapm, val),
94+
95+ TP_FIELDS(
96+ ctf_string(name, dapm->card->name)
97+ ctf_string(component, dapm->component ? dapm->component->name : DAPM_COMPONENT_NONE)
98+ ctf_integer(int, val, val)
99+ )
100+)
101+
102+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_start,
103+
104+ asoc_snd_soc_bias_level_start,
105+
106+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
107+
108+ TP_ARGS(dapm, val)
109+
110+)
111+
112+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_done,
113+
114+ asoc_snd_soc_bias_level_done,
115+
116+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
117+
118+ TP_ARGS(dapm, val)
119+
120+)
121+#else
122 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card,
123
124 TP_PROTO(struct snd_soc_card *card, int val),
125@@ -150,6 +185,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
126 TP_ARGS(card, val)
127
128 )
129+#endif
130
131 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
132 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch
deleted file mode 100644
index 5a4294db02..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch
+++ /dev/null
@@ -1,100 +0,0 @@
1From d52ab4b9a71a4bef535dadb8e7062112ac5c0c88 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 11:33:39 -0500
4Subject: [PATCH 2/5] Fix: timer_start changed in linux 6.8.0-rc1
5
6See upstream commit
7
8 commit dbcdcb62b59db2cf6a24113873b90da15c6f0b19
9 Author: Anna-Maria Behnsen <anna-maria@linutronix.de>
10 Date: Fri Dec 1 10:26:26 2023 +0100
11
12 tracing/timers: Enhance timer_start tracepoint
13
14 For starting a timer, the timer is enqueued into a bucket of the timer
15 wheel. The bucket expiry is the defacto expiry of the timer but it is not
16 equal the timer expiry because of increasing granularity when bucket is in
17 a higher level of the wheel. To be able to figure out in a trace whether a
18 timer expired in time or not, the bucket expiry time is required as well.
19
20 Add bucket expiry time to the timer_start tracepoint and thereby simplify
21 the arguments.
22
23Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
24
25Change-Id: I4868092765745b1efd0c48f13c0b837f2007dcb6
26Signed-off-by: Kienan Stewart <kstewart@efficios.com>
27Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
28---
29 include/instrumentation/events/timer.h | 24 +++++++++++++-----------
30 1 file changed, 13 insertions(+), 11 deletions(-)
31
32diff --git a/include/instrumentation/events/timer.h b/include/instrumentation/events/timer.h
33index 91a2cd9..ce571f5 100644
34--- a/include/instrumentation/events/timer.h
35+++ b/include/instrumentation/events/timer.h
36@@ -45,8 +45,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
37 TP_ARGS(timer)
38 )
39
40-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0) || \
41- LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
42+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
43 /**
44 * timer_start - called when the timer is started
45 * @timer: pointer to struct timer_list
46@@ -55,39 +54,42 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
47 */
48 LTTNG_TRACEPOINT_EVENT(timer_start,
49
50- TP_PROTO(struct timer_list *timer, unsigned long expires,
51- unsigned int flags),
52+ TP_PROTO(struct timer_list *timer, unsigned long bucket_expiry),
53
54- TP_ARGS(timer, expires, flags),
55+ TP_ARGS(timer, bucket_expiry),
56
57 TP_FIELDS(
58 ctf_integer_hex(void *, timer, timer)
59 ctf_integer_hex(void *, function, timer->function)
60- ctf_integer(unsigned long, expires, expires)
61+ ctf_integer(unsigned long, expires, timer->expires)
62+ ctf_integer(unsigned long, bucket_expiry, bucket_expiry)
63 ctf_integer(unsigned long, now, jiffies)
64- ctf_integer(unsigned int, flags, flags)
65+ ctf_integer(unsigned int, flags, timer->flags)
66 )
67 )
68-#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */
69+#else
70 /**
71 * timer_start - called when the timer is started
72 * @timer: pointer to struct timer_list
73 * @expires: the timers expiry time
74+ * @flags: the timers expiry time
75 */
76 LTTNG_TRACEPOINT_EVENT(timer_start,
77
78- TP_PROTO(struct timer_list *timer, unsigned long expires),
79+ TP_PROTO(struct timer_list *timer, unsigned long expires,
80+ unsigned int flags),
81
82- TP_ARGS(timer, expires),
83+ TP_ARGS(timer, expires, flags),
84
85 TP_FIELDS(
86 ctf_integer_hex(void *, timer, timer)
87 ctf_integer_hex(void *, function, timer->function)
88 ctf_integer(unsigned long, expires, expires)
89 ctf_integer(unsigned long, now, jiffies)
90+ ctf_integer(unsigned int, flags, flags)
91 )
92 )
93-#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */
94+#endif
95
96 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
97 LTTNG_RHEL_KERNEL_RANGE(4,18,0,193,0,0, 4,19,0,0,0,0))
98--
992.39.2
100
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch
new file mode 100644
index 0000000000..66c48ebe8f
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch
@@ -0,0 +1,81 @@
1From f4a6415f8d5fa447868d1fdc7119e0a328966379 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 10:30:32 -0400
4Subject: [PATCH 3/4] Fix: mm_compaction_migratepages changed in linux 6.9-rc1
5
6See upstream commit:
7
8 commit ab755bf4249b992fc2140d615ab0a686d50765b4
9 Author: Baolin Wang <baolin.wang@linux.alibaba.com>
10 Date: Tue Feb 20 14:16:31 2024 +0800
11
12 mm: compaction: update the cc->nr_migratepages when allocating or freeing the freepages
13
14 Currently we will use 'cc->nr_freepages >= cc->nr_migratepages' comparison
15 to ensure that enough freepages are isolated in isolate_freepages(),
16 however it just decreases the cc->nr_freepages without updating
17 cc->nr_migratepages in compaction_alloc(), which will waste more CPU
18 cycles and cause too many freepages to be isolated.
19
20 So we should also update the cc->nr_migratepages when allocating or
21 freeing the freepages to avoid isolating excess freepages. And I can see
22 fewer free pages are scanned and isolated when running thpcompact on my
23 Arm64 server:
24
25 k6.7 k6.7_patched
26 Ops Compaction pages isolated 120692036.00 118160797.00
27 Ops Compaction migrate scanned 131210329.00 154093268.00
28 Ops Compaction free scanned 1090587971.00 1080632536.00
29 Ops Compact scan efficiency 12.03 14.26
30
31 Moreover, I did not see an obvious latency improvements, this is likely
32 because isolating freepages is not the bottleneck in the thpcompact test
33 case.
34
35 k6.7 k6.7_patched
36 Amean fault-both-1 1089.76 ( 0.00%) 1080.16 * 0.88%*
37 Amean fault-both-3 1616.48 ( 0.00%) 1636.65 * -1.25%*
38 Amean fault-both-5 2266.66 ( 0.00%) 2219.20 * 2.09%*
39 Amean fault-both-7 2909.84 ( 0.00%) 2801.90 * 3.71%*
40 Amean fault-both-12 4861.26 ( 0.00%) 4733.25 * 2.63%*
41 Amean fault-both-18 7351.11 ( 0.00%) 6950.51 * 5.45%*
42 Amean fault-both-24 9059.30 ( 0.00%) 9159.99 * -1.11%*
43 Amean fault-both-30 10685.68 ( 0.00%) 11399.02 * -6.68%*
44
45Upstream-Status: Backport [175fe77c Fix: mm_compaction_migratepages changed in linux 6.9-rc1]
46
47Change-Id: I103a43fd1b549360b3fc978fd409b7c17ef3e192
48Signed-off-by: Kienan Stewart <kstewart@efficios.com>
49Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
50---
51 include/instrumentation/events/compaction.h | 17 ++++++++++++++++-
52 1 file changed, 16 insertions(+), 1 deletion(-)
53
54Index: lttng-modules-2.13.12/include/instrumentation/events/compaction.h
55===================================================================
56--- lttng-modules-2.13.12.orig/include/instrumentation/events/compaction.h
57+++ lttng-modules-2.13.12/include/instrumentation/events/compaction.h
58@@ -97,7 +97,22 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(comp
59
60 #endif /* #else #if LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0) */
61
62-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
63+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
64+LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
65+
66+ compaction_migratepages,
67+
68+ TP_PROTO(unsigned int nr_migratepages,
69+ unsigned int nr_succeeded),
70+
71+ TP_ARGS(nr_migratepages, nr_succeeded),
72+
73+ TP_FIELDS(
74+ ctf_integer(unsigned long, nr_migrated, nr_succeeded)
75+ ctf_integer(unsigned long, nr_failed, nr_migratepages - nr_succeeded)
76+ )
77+)
78+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
79 LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0))
80 LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
81
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch
deleted file mode 100644
index 4ad9adc5c2..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From 7432f583674294b676577b6505b89fc74dc5c7ab Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 11:47:40 -0500
4Subject: [PATCH 3/5] Fix: strlcopy removed in linux 6.8.0-rc1
5
6See upstream commit:
7
8 commit d26270061ae66b915138af7cd73ca6f8b85e6b44
9 Author: Kees Cook <keescook@chromium.org>
10 Date: Thu Jan 18 12:31:55 2024 -0800
11
12 string: Remove strlcpy()
13
14 With all the users of strlcpy() removed[1] from the kernel, remove the
15 API, self-tests, and other references. Leave mentions in Documentation
16 (about its deprecation), and in checkpatch.pl (to help migrate host-only
17 tools/ usage). Long live strscpy().
18
19Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
20
21Change-Id: I27cdff70a504b25340cc59150ed8e959d9629e43
22Signed-off-by: Kienan Stewart <kstewart@efficios.com>
23Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
24---
25 src/lib/ringbuffer/ring_buffer_backend.c | 4 ++++
26 1 file changed, 4 insertions(+)
27
28diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c
29index 9a339be..2181145 100644
30--- a/src/lib/ringbuffer/ring_buffer_backend.c
31+++ b/src/lib/ringbuffer/ring_buffer_backend.c
32@@ -405,7 +405,11 @@ int channel_backend_init(struct channel_backend *chanb,
33 chanb->extra_reader_sb =
34 (config->mode == RING_BUFFER_OVERWRITE) ? 1 : 0;
35 chanb->num_subbuf = num_subbuf;
36+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
37+ strscpy(chanb->name, name, NAME_MAX);
38+#else
39 strlcpy(chanb->name, name, NAME_MAX);
40+#endif
41 memcpy(&chanb->config, config, sizeof(chanb->config));
42
43 if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
44--
452.39.2
46
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch
deleted file mode 100644
index c9b1af37c8..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch
+++ /dev/null
@@ -1,124 +0,0 @@
1From c8198382fe1cede3e16aae9978642a113a217e4c Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 12:17:33 -0500
4Subject: [PATCH 4/5] Fix: btrfs_chunk tracepoints changed in linux 6.8.0-rc1
5
6See upstream commit:
7
8 commit 7dc66abb5a47778d7db327783a0ba172b8cff0b5
9 Author: Filipe Manana <fdmanana@suse.com>
10 Date: Tue Nov 21 13:38:38 2023 +0000
11
12 btrfs: use a dedicated data structure for chunk maps
13
14 Currently we abuse the extent_map structure for two purposes:
15
16 1) To actually represent extents for inodes;
17 2) To represent chunk mappings.
18
19 This is odd and has several disadvantages:
20
21 1) To create a chunk map, we need to do two memory allocations: one for
22 an extent_map structure and another one for a map_lookup structure, so
23 more potential for an allocation failure and more complicated code to
24 manage and link two structures;
25
26 2) For a chunk map we actually only use 3 fields (24 bytes) of the
27 respective extent map structure: the 'start' field to have the logical
28 start address of the chunk, the 'len' field to have the chunk's size,
29 and the 'orig_block_len' field to contain the chunk's stripe size.
30
31 Besides wasting a memory, it's also odd and not intuitive at all to
32 have the stripe size in a field named 'orig_block_len'.
33
34 We are also using 'block_len' of the extent_map structure to contain
35 the chunk size, so we have 2 fields for the same value, 'len' and
36 'block_len', which is pointless;
37
38 3) When an extent map is associated to a chunk mapping, we set the bit
39 EXTENT_FLAG_FS_MAPPING on its flags and then make its member named
40 'map_lookup' point to the associated map_lookup structure. This means
41 that for an extent map associated to an inode extent, we are not using
42 this 'map_lookup' pointer, so wasting 8 bytes (on a 64 bits platform);
43
44 4) Extent maps associated to a chunk mapping are never merged or split so
45 it's pointless to use the existing extent map infrastructure.
46
47 So add a dedicated data structure named 'btrfs_chunk_map' to represent
48 chunk mappings, this is basically the existing map_lookup structure with
49 some extra fields:
50
51 1) 'start' to contain the chunk logical address;
52 2) 'chunk_len' to contain the chunk's length;
53 3) 'stripe_size' for the stripe size;
54 4) 'rb_node' for insertion into a rb tree;
55 5) 'refs' for reference counting.
56
57 This way we do a single memory allocation for chunk mappings and we don't
58 waste memory for them with unused/unnecessary fields from an extent_map.
59
60 We also save 8 bytes from the extent_map structure by removing the
61 'map_lookup' pointer, so the size of struct extent_map is reduced from
62 144 bytes down to 136 bytes, and we can now have 30 extents map per 4K
63 page instead of 28.
64
65Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
66
67Change-Id: Ie52b5ac83df4bc6abeb84d958c4f5d24ae0d8c75
68Signed-off-by: Kienan Stewart <kstewart@efficios.com>
69Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
70---
71 include/instrumentation/events/btrfs.h | 37 +++++++++++++++++++++++++-
72 1 file changed, 36 insertions(+), 1 deletion(-)
73
74diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
75index 7c7b9b0..a2a412b 100644
76--- a/include/instrumentation/events/btrfs.h
77+++ b/include/instrumentation/events/btrfs.h
78@@ -1609,7 +1609,42 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_ref_head,
79 )
80 #endif
81
82-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
83+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
84+
85+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
86+
87+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
88+ u64 offset, u64 size),
89+
90+ TP_ARGS(fs_info, map, offset, size),
91+
92+ TP_FIELDS(
93+ ctf_integer(int, num_stripes, map->num_stripes)
94+ ctf_integer(u64, type, map->type)
95+ ctf_integer(int, sub_stripes, map->sub_stripes)
96+ ctf_integer(u64, offset, offset)
97+ ctf_integer(u64, size, size)
98+ ctf_integer(u64, root_objectid, fs_info->chunk_root->root_key.objectid)
99+ )
100+)
101+
102+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
103+
104+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
105+ u64 offset, u64 size),
106+
107+ TP_ARGS(fs_info, map, offset, size)
108+)
109+
110+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
111+
112+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
113+ u64 offset, u64 size),
114+
115+ TP_ARGS(fs_info, map, offset, size)
116+)
117+
118+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
119
120 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
121
122--
1232.39.2
124
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch
new file mode 100644
index 0000000000..59ef4f9313
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch
@@ -0,0 +1,57 @@
1From 217bc2e4685050dddce9bdd2557b64f6b8c16622 Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 25 Mar 2024 10:53:46 -0400
4Subject: [PATCH 4/4] Fix: dev_base_lock removed in linux 6.9-rc1
5
6See upstream commit:
7
8 commit 1b3ef46cb7f2618cc0b507393220a69810f6da12
9 Author: Eric Dumazet <edumazet@google.com>
10 Date: Tue Feb 13 06:32:45 2024 +0000
11
12 net: remove dev_base_lock
13
14 dev_base_lock is not needed anymore, all remaining users also hold RTNL.
15
16Upstream-Status: Backport [52eb2ee9 Fix: dev_base_lock removed in linux 6.9-rc1]
17
18Change-Id: I6b07e6eed07fd398302ca14d23162ed24d74df15
19Signed-off-by: Kienan Stewart <kstewart@efficios.com>
20Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
21---
22 src/lttng-statedump-impl.c | 15 +++++++++++++++
23 1 file changed, 15 insertions(+)
24
25Index: lttng-modules-2.13.12/src/lttng-statedump-impl.c
26===================================================================
27--- lttng-modules-2.13.12.orig/src/lttng-statedump-impl.c
28+++ lttng-modules-2.13.12/src/lttng-statedump-impl.c
29@@ -392,6 +392,20 @@ void lttng_enumerate_device(struct lttng
30 }
31 }
32
33+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
34+static
35+int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
36+{
37+ struct net_device *dev;
38+
39+ rtnl_lock();
40+ for_each_netdev(&init_net, dev)
41+ lttng_enumerate_device(session, dev);
42+ rtnl_unlock();
43+
44+ return 0;
45+}
46+#else
47 static
48 int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
49 {
50@@ -404,6 +418,7 @@ int lttng_enumerate_network_ip_interface
51
52 return 0;
53 }
54+#endif /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0)) */
55 #else /* CONFIG_INET */
56 static inline
57 int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch b/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch
deleted file mode 100644
index 65c33dafef..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch
+++ /dev/null
@@ -1,88 +0,0 @@
1From 86db094386b43bb5c6b47552f9a4826ca8ba917d Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 22 Jan 2024 13:13:36 -0500
4Subject: [PATCH 5/5] Fix: btrfs_get_extent flags and compress_type changed in
5 linux 6.8.0-rc1
6
7See upstream commit:
8
9 commit f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9
10 Author: Filipe Manana <fdmanana@suse.com>
11 Date: Mon Dec 4 16:20:33 2023 +0000
12
13 btrfs: use the flags of an extent map to identify the compression type
14
15 Currently, in struct extent_map, we use an unsigned int (32 bits) to
16 identify the compression type of an extent and an unsigned long (64 bits
17 on a 64 bits platform, 32 bits otherwise) for flags. We are only using
18 6 different flags, so an unsigned long is excessive and we can use flags
19 to identify the compression type instead of using a dedicated 32 bits
20 field.
21
22 We can easily have tens or hundreds of thousands (or more) of extent maps
23 on busy and large filesystems, specially with compression enabled or many
24 or large files with tons of small extents. So it's convenient to have the
25 extent_map structure as small as possible in order to use less memory.
26
27 So remove the compression type field from struct extent_map, use flags
28 to identify the compression type and shorten the flags field from an
29 unsigned long to a u32. This saves 8 bytes (on 64 bits platforms) and
30 reduces the size of the structure from 136 bytes down to 128 bytes, using
31 now only two cache lines, and increases the number of extent maps we can
32 have per 4K page from 30 to 32. By using a u32 for the flags instead of
33 an unsigned long, we no longer use test_bit(), set_bit() and clear_bit(),
34 but that level of atomicity is not needed as most flags are never cleared
35 once set (before adding an extent map to the tree), and the ones that can
36 be cleared or set after an extent map is added to the tree, are always
37 performed while holding the write lock on the extent map tree, while the
38 reader holds a lock on the tree or tests for a flag that never changes
39 once the extent map is in the tree (such as compression flags).
40
41Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
42
43Change-Id: I95402d43f064c016b423b48652e4968d3db9b8a9
44Signed-off-by: Kienan Stewart <kstewart@efficios.com>
45Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
46---
47 include/instrumentation/events/btrfs.h | 25 ++++++++++++++++++++++++-
48 1 file changed, 24 insertions(+), 1 deletion(-)
49
50diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
51index a2a412b..ffb1b64 100644
52--- a/include/instrumentation/events/btrfs.h
53+++ b/include/instrumentation/events/btrfs.h
54@@ -177,7 +177,30 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict,
55 )
56 #endif
57
58-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
59+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
60+
61+LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
62+
63+ TP_PROTO(const struct btrfs_root *root, const struct btrfs_inode *inode,
64+ const struct extent_map *map),
65+
66+ TP_ARGS(root, inode, map),
67+
68+ TP_FIELDS(
69+ ctf_integer(u64, root_objectid, root->root_key.objectid)
70+ ctf_integer(u64, ino, btrfs_ino(inode))
71+ ctf_integer(u64, start, map->start)
72+ ctf_integer(u64, len, map->len)
73+ ctf_integer(u64, orig_start, map->orig_start)
74+ ctf_integer(u64, block_start, map->block_start)
75+ ctf_integer(u64, block_len, map->block_len)
76+ ctf_integer(unsigned int, flags, map->flags)
77+ ctf_integer(int, refs, refcount_read(&map->refs))
78+ ctf_integer(unsigned int, compress_type, extent_map_compression(map))
79+ )
80+)
81+
82+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
83
84 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
85
86--
872.39.2
88
diff --git a/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-ext4_discard_preallocations-changed-in-linux-6.8.patch b/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-ext4_discard_preallocations-changed-in-linux-6.8.patch
deleted file mode 100644
index c35f5b61fa..0000000000
--- a/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-ext4_discard_preallocations-changed-in-linux-6.8.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1From c1e074414f087b6ecc229a9385a44eb3b3dfeaea Mon Sep 17 00:00:00 2001
2From: Kienan Stewart <kstewart@efficios.com>
3Date: Mon, 5 Feb 2024 08:52:29 -0500
4Subject: [PATCH] Fix: ext4_discard_preallocations changed in linux 6.8.0-rc3
5
6See upstream commit:
7
8 commit f0e54b6087de9571ec61c189d6c378b81edbe3b2
9 Author: Kemeng Shi <shikemeng@huaweicloud.com>
10 Date: Fri Jan 5 17:21:02 2024 +0800
11
12 ext4: remove 'needed' in trace_ext4_discard_preallocations
13
14 As 'needed' to trace_ext4_discard_preallocations is always 0 which
15 is meaningless. Just remove it.
16
17Change-Id: Ib6b698ca553c4beebd4ca791c83bbbb927901758
18Signed-off-by: Kienan Stewart <kstewart@efficios.com>
19Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
20
21Upstream-Status: Backport [https://github.com/lttng/lttng-modules/commit/2da4de37de6382b4440737fdf4320e08a089afcd]
22
23Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
24---
25 include/instrumentation/events/ext4.h | 14 +++++++++++++-
26 1 file changed, 13 insertions(+), 1 deletion(-)
27
28diff --git a/include/instrumentation/events/ext4.h b/include/instrumentation/events/ext4.h
29index 222416e..05a6453 100644
30--- a/include/instrumentation/events/ext4.h
31+++ b/include/instrumentation/events/ext4.h
32@@ -490,7 +490,19 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
33 )
34 #endif
35
36-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
37+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
38+LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
39+ TP_PROTO(struct inode *inode, unsigned int len),
40+
41+ TP_ARGS(inode, len),
42+
43+ TP_FIELDS(
44+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
45+ ctf_integer(ino_t, ino, inode->i_ino)
46+ ctf_integer(unsigned int, len, len)
47+ )
48+)
49+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
50 LTTNG_KERNEL_RANGE(5,8,6, 5,9,0))
51 LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
52 TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed),
diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb b/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
index 5d2379df84..95d5e2d615 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
@@ -10,18 +10,16 @@ inherit module
10include lttng-platforms.inc 10include lttng-platforms.inc
11 11
12SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ 12SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
13 file://0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch \ 13 file://0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch \
14 file://0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch \ 14 file://0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch \
15 file://0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch \ 15 file://0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch \
16 file://0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch \ 16 file://0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch \
17 file://0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch \
18 file://0006-Fix-ext4_discard_preallocations-changed-in-linux-6.8.patch \
19 " 17 "
20 18
21# Use :append here so that the patch is applied also when using devupstream 19# Use :append here so that the patch is applied also when using devupstream
22SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" 20SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
23 21
24SRC_URI[sha256sum] = "297211d6fda459c85793c1f498c90fad2939cda7939d503f3ec5eaaf5fbec3c7" 22SRC_URI[sha256sum] = "d85fcb66c7bd31003ab8735e8c77700e5e4f417b4c22fe1f20112cf435abad79"
25 23
26export INSTALL_MOD_DIR="kernel/lttng-modules" 24export INSTALL_MOD_DIR="kernel/lttng-modules"
27 25