fix: mm: compaction: cleanup the compaction trace events (v5.18)
[lttng-modules.git] / src / probes / Kbuild
index e26b4359e7638c010e73b6ffd6ea49da78b478df..54784477d3e08b2ccc9338417e24b3c87d7860d8 100644 (file)
@@ -167,7 +167,22 @@ ifneq ($(CONFIG_BTRFS_FS),)
   endif # $(wildcard $(btrfs_dep))
 endif # CONFIG_BTRFS_FS
 
-obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o
+# 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_EXT4_FS),)
   ext4_dep = $(srctree)/fs/ext4/*.h
@@ -187,8 +202,11 @@ ifneq ($(CONFIG_FRAME_WARN),0)
   CFLAGS_lttng-probe-printk.o += -Wframe-larger-than=2200
 endif
 
+# Introduced in v3.6, remove in v5.18
 obj-$(CONFIG_LTTNG) +=  $(shell \
-    if [ $(VERSION) -ge 4 \
+    if [ \( ! \( $(VERSION) -ge 6 -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) \) \
+      -a \
+      $(VERSION) -ge 4 \
       -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 6 \) \
       -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -eq 5 -a $(SUBLEVEL) -ge 2 \) \
       -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -eq 4 -a $(SUBLEVEL) -ge 9 \) \
This page took 0.024489 seconds and 4 git commands to generate.