blob: b819c0da72e776dd4133a6da39039bd11cc6ea49 [file] [log] [blame]
From: Junjie Fu <fujunjie1@qq.com>
Subject: mempolicy.h: remove unnecessary header file inclusions with no test failure
Date: Wed, 11 Dec 2024 12:01:19 +0800
Originally, linux/mempolicy.h included linux/pagemap.h because
vma_migratable() was implemented inline within the
header(linux/mempolicy.h), requiring mapping_gfp_mask() function from
pagemap.h to implement vma_migratable(). Now that vma_migratable() is
only declared in linux/mempolicy.h and its implementation has been moved
to mempolicy.c, the inclusion of linux/pagemap.h in the header is no
longer necessary.
So the linux/pagemap.h in linux/mempolicy.h need to be remove. Since we
used the function of pagemap.h in mempolicy.c, we need to include
linux/pagemap.h in mempolicy.c.
It appears that the modifications have been completed, but there may be
compilation errors during testing.
kunit UM build errors as below:
$ ./tools/testing/kunit/kunit.py run --kunitconfig ./mm/damon/tests/
[...]
fs/aio.c:525:71: error: `FGP_CREAT' undeclared (first use in this function); did you mean `IPC_CREAT'?
525 | FGP_LOCK | FGP_ACCESSED | FGP_CREAT,
| ^~~~~~~~~
| IPC_CREAT
fs/aio.c:532:17: error: implicit declaration of function `folio_end_read'; did you mean `folio_test_head'? [-Werror=implicit-function-declaration]
532 | folio_end_read(folio, true);
| ^~~~~~~~~~~~~~
| folio_test_head
[...]
FGP_CREAT defined in linux/pagemap.h was used in fs/aio.c, and the
function folio_end_read declared in linux/pagemap.h is also used in
fs/aio.c, so fs/aio.c need to include linux/pagemap.h.
Link: https://lkml.kernel.org/r/tencent_C12D22B8989E0314FDE7073D6446186E3C09@qq.com
Signed-off-by: Junjie Fu <fujunjie1@qq.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/aio.c | 1 +
include/linux/mempolicy.h | 1 -
mm/mempolicy.c | 1 +
3 files changed, 2 insertions(+), 1 deletion(-)
--- a/fs/aio.c~mempolicyh-remove-unnecessary-header-file-inclusions-with-no-test-failure
+++ a/fs/aio.c
@@ -38,6 +38,7 @@
#include <linux/blkdev.h>
#include <linux/compat.h>
#include <linux/migrate.h>
+#include <linux/pagemap.h>
#include <linux/ramfs.h>
#include <linux/percpu-refcount.h>
#include <linux/mount.h>
--- a/include/linux/mempolicy.h~mempolicyh-remove-unnecessary-header-file-inclusions-with-no-test-failure
+++ a/include/linux/mempolicy.h
@@ -12,7 +12,6 @@
#include <linux/rbtree.h>
#include <linux/spinlock.h>
#include <linux/nodemask.h>
-#include <linux/pagemap.h>
#include <uapi/linux/mempolicy.h>
struct mm_struct;
--- a/mm/mempolicy.c~mempolicyh-remove-unnecessary-header-file-inclusions-with-no-test-failure
+++ a/mm/mempolicy.c
@@ -98,6 +98,7 @@
#include <linux/ptrace.h>
#include <linux/swap.h>
#include <linux/seq_file.h>
+#include <linux/pagemap.h>
#include <linux/proc_fs.h>
#include <linux/migrate.h>
#include <linux/ksm.h>
_