On Fri, 6 Dec 2024 23:53:49 +0800 Junjie Fu <fujunjie1@xxxxxx> wrote: > Originally, linux/mempolicy.h included linux/pagemap.h because vma_migratable() > was implemented inline within the header, requiring mapping_gfp_mask() > function 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. > > Additionally, since mempolicy.c includes internal.h, and internal.h already > includes linux/pagemap.h, so there is no need to modify mempolicy.c after > removing the direct inclusion of linux/pagemap.h from linux/mempolicy.h If mempolicy.c uses things whcih are defined in pagemap.h then mempolicy.c should include pagemap.h directly, and not rely upon such nested includes. It's simpler, directer, expresses what's actually happening and avoids build breakage due to ongoing header untanglings.