From 18b4a3f98a07d09c143c3fa1b8920a69dbbaab8d Mon Sep 17 00:00:00 2001 From: Michael Jeanson 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 for reporting this issue. Change-Id: I81e77aa9c1bf10452c152d432fe5224df0db42c9 Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- 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