summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/lttng/lttng-modules/0001-lttng-modules-backport-writeback.h-changes-from-2.12.patch
blob: 25b0a57bc62788f0c70aaf4a8980adf2f7d46aeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
From 66d0869cf54ed79a33345f537dce2f7840e279f0 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Tue, 29 Sep 2020 10:28:20 -0400
Subject: [PATCH] lttng-modules: backport writeback.h changes from 2.12.x to
 fix kernel 5.4.62+

Backporting the kernel version changes for writeback.h to fix
compilation against kernel stable versions 5.4.62+

This is a combination of upstream commits:

 87b2aff [fix: writeback: Fix sync livelock due to b_dirty_time processing (v5.9)]
 b74b25f [fix: version ranges for ext4_discard_preallocations and writeback_queue_io

Upstream-status: Backport

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 .../events/lttng-module/writeback.h           | 48 +++++++++++++------
 1 file changed, 33 insertions(+), 15 deletions(-)

diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
index 3327a0f..8d2250e 100644
--- a/instrumentation/events/lttng-module/writeback.h
+++ b/instrumentation/events/lttng-module/writeback.h
@@ -372,34 +372,55 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
 #endif
 LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
+	LTTNG_KERNEL_RANGE(5,8,6, 5,9,0) || \
+	LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \
+	LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \
+	LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \
+	LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \
+	LTTNG_KERNEL_RANGE(4,4,235, 4,5,0) || \
+	LTTNG_UBUNTU_KERNEL_RANGE(4,15,18,119, 4,16,0,0))
+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
+	TP_PROTO(struct bdi_writeback *wb,
+		 struct wb_writeback_work *work,
+		 unsigned long dirtied_before,
+		 int moved),
+	TP_ARGS(wb, work, dirtied_before, moved),
+	TP_FIELDS(
+		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
+		ctf_integer(unsigned long, older, dirtied_before)
+		ctf_integer(int, moved, moved)
+	)
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
 LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
 	TP_PROTO(struct bdi_writeback *wb,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
 		 struct wb_writeback_work *work,
-#else
-		 unsigned long *older_than_this,
-#endif
 		 int moved),
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
 	TP_ARGS(wb, work, moved),
-#else
+	TP_FIELDS(
+		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
+		ctf_integer(int, moved, moved)
+	)
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
+	TP_PROTO(struct bdi_writeback *wb,
+		 unsigned long *older_than_this,
+		 int moved),
 	TP_ARGS(wb, older_than_this, moved),
-#endif
 	TP_FIELDS(
 		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
-#else
 		ctf_integer(unsigned long, older,
 			older_than_this ? *older_than_this : 0)
 		ctf_integer(long, age,
 			older_than_this ?
 				(jiffies - *older_than_this) * 1000 / HZ
 				: -1)
-#endif
 		ctf_integer(int, moved, moved)
 	)
 )
+#endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
 LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
@@ -425,7 +446,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
 		ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
 	)
 )
-#else
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
 LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
 
 	writeback_global_dirty_state,
@@ -450,7 +471,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
 	)
 )
 #endif
-#endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
 
@@ -661,7 +681,6 @@ LTTNG_TRACEPOINT_EVENT(writeback_sb_inodes_requeue,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
 LTTNG_TRACEPOINT_EVENT_CLASS(writeback_congest_waited_template,
 
 	TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed),
@@ -687,7 +706,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_congest_waited_template, writeback_wai
 
 	TP_ARGS(usec_timeout, usec_delayed)
 )
-#endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(writeback_single_inode_template,
-- 
2.25.1