Message ID | 20241119033012.257525-1-linyunsheng@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [net-next,v2] mm: page_frag: fix a compile error when kernel is not compiled | expand |
On 11/19/24 04:30, Yunsheng Lin wrote: > page_frag test module is an out of tree module, but built > using KDIR as the main kernel tree, the mm test suite is > just getting skipped if newly added page_frag test module > fails to compile due to kernel not yet compiled. > > Fix the above problem by ensuring both kernel is built first > and a newer kernel which has page_frag_cache.h is used. > > CC: Andrew Morton <akpm@linux-foundation.org> > CC: Alexander Duyck <alexanderduyck@fb.com> > CC: Linux-MM <linux-mm@kvack.org> > Fixes: 7fef0dec415c ("mm: page_frag: add a test module for page_frag") > Fixes: 65941f10caf2 ("mm: move the page fragment allocator from page_alloc into its own file") > Reported-by: Mark Brown <broonie@kernel.org> > Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> > Tested-by: Mark Brown <broonie@kernel.org> I'm closing the net-next PR right now, and we must either apply this patch even on short notice or reverting the blamed series. As this fix should not cause any more conflict than the original series, looks reasonable to me and has been tested by Mark, I'm going to apply it. /P
Hello: This patch was applied to netdev/net-next.git (main) by Paolo Abeni <pabeni@redhat.com>: On Tue, 19 Nov 2024 11:30:11 +0800 you wrote: > page_frag test module is an out of tree module, but built > using KDIR as the main kernel tree, the mm test suite is > just getting skipped if newly added page_frag test module > fails to compile due to kernel not yet compiled. > > Fix the above problem by ensuring both kernel is built first > and a newer kernel which has page_frag_cache.h is used. > > [...] Here is the summary with links: - [net-next,v2] mm: page_frag: fix a compile error when kernel is not compiled https://git.kernel.org/netdev/net-next/c/96ed62ea0298 You are awesome, thank you!
diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile index acec529baaca..04e04733fc8a 100644 --- a/tools/testing/selftests/mm/Makefile +++ b/tools/testing/selftests/mm/Makefile @@ -36,7 +36,16 @@ MAKEFLAGS += --no-builtin-rules CFLAGS = -Wall -I $(top_srcdir) $(EXTRA_CFLAGS) $(KHDR_INCLUDES) $(TOOLS_INCLUDES) LDLIBS = -lrt -lpthread -lm +KDIR ?= /lib/modules/$(shell uname -r)/build +ifneq (,$(wildcard $(KDIR)/Module.symvers)) +ifneq (,$(wildcard $(KDIR)/include/linux/page_frag_cache.h)) TEST_GEN_MODS_DIR := page_frag +else +PAGE_FRAG_WARNING = "missing page_frag_cache.h, please use a newer kernel" +endif +else +PAGE_FRAG_WARNING = "missing Module.symvers, please have the kernel built first" +endif TEST_GEN_FILES = cow TEST_GEN_FILES += compaction_test @@ -214,3 +223,12 @@ warn_missing_liburing: echo "Warning: missing liburing support. Some tests will be skipped." ; \ echo endif + +ifneq ($(PAGE_FRAG_WARNING),) +all: warn_missing_page_frag + +warn_missing_page_frag: + @echo ; \ + echo "Warning: $(PAGE_FRAG_WARNING). page_frag test will be skipped." ; \ + echo +endif diff --git a/tools/testing/selftests/mm/page_frag/Makefile b/tools/testing/selftests/mm/page_frag/Makefile index 58dda74d50a3..8c8bb39ffa28 100644 --- a/tools/testing/selftests/mm/page_frag/Makefile +++ b/tools/testing/selftests/mm/page_frag/Makefile @@ -1,5 +1,5 @@ PAGE_FRAG_TEST_DIR := $(realpath $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) -KDIR ?= $(abspath $(PAGE_FRAG_TEST_DIR)/../../../../..) +KDIR ?= /lib/modules/$(shell uname -r)/build ifeq ($(V),1) Q =