| 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> |
| _ |