summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch
blob: 21e27ffc5efaaadb4d10fc914cdf2972d4f2fc88 (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
From 8e42c4821fb5f5cb816b6ddf73d9a13ba3298a63 Mon Sep 17 00:00:00 2001
From: Michael Jeanson <mjeanson@efficios.com>
Date: Wed, 10 Aug 2022 11:07:14 -0400
Subject: [PATCH] fix: tie compaction probe build to CONFIG_COMPACTION

The definition of 'struct compact_control' in 'mm/internal.h' depends on
CONFIG_COMPACTION being defined. Only build the compaction probe when
this configuration option is enabled.

Thanks to Bruce Ashfield <bruce.ashfield@gmail.com> for reporting this
issue.

Upstream-Status: Backport [https://review.lttng.org/c/lttng-modules/+/8660]

Change-Id: I81e77aa9c1bf10452c152d432fe5224df0db42c9
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
---
 src/probes/Kbuild | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/src/probes/Kbuild b/src/probes/Kbuild
index 2908cf75..3e556b8e 100644
--- a/src/probes/Kbuild
+++ b/src/probes/Kbuild
@@ -167,22 +167,24 @@ ifneq ($(CONFIG_BTRFS_FS),)
   endif # $(wildcard $(btrfs_dep))
 endif # CONFIG_BTRFS_FS
 
-# A dependency on internal header 'mm/internal.h' was introduced in v5.18
-compaction_dep = $(srctree)/mm/internal.h
-compaction_dep_wildcard = $(wildcard $(compaction_dep))
-compaction_dep_check = $(shell \
-if [ \( $(VERSION) -ge 6 \
-   -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \
-   -z "$(compaction_dep_wildcard)" ] ; then \
-  echo "warn" ; \
-else \
-  echo "ok" ; \
-fi ;)
-ifeq ($(compaction_dep_check),ok)
-  obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o
-else
-  $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.)
-endif # $(wildcard $(compaction_dep))
+ifneq ($(CONFIG_COMPACTION),)
+  # A dependency on internal header 'mm/internal.h' was introduced in v5.18
+  compaction_dep = $(srctree)/mm/internal.h
+  compaction_dep_wildcard = $(wildcard $(compaction_dep))
+  compaction_dep_check = $(shell \
+  if [ \( $(VERSION) -ge 6 \
+     -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \
+     -z "$(compaction_dep_wildcard)" ] ; then \
+    echo "warn" ; \
+  else \
+    echo "ok" ; \
+  fi ;)
+  ifeq ($(compaction_dep_check),ok)
+    obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o
+  else
+    $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.)
+  endif # $(wildcard $(compaction_dep))
+endif # CONFIG_COMPACTION
 
 ifneq ($(CONFIG_EXT4_FS),)
   ext4_dep = $(srctree)/fs/ext4/*.h
-- 
2.34.1