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 --- V2: Repost by adding net-next ML. Note, page_frag test module is only in the net-next tree for now, so target the net-next tree. --- tools/testing/selftests/mm/Makefile | 18 ++++++++++++++++++ tools/testing/selftests/mm/page_frag/Makefile | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-)
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 =
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!
linux-kselftest-mirror@lists.linaro.org