On Tue, 31 Jan 2023 05:28:19 +0000 Matthew Wilcox wrote: > > I bet we can drop mm.h now. It was originally added for nth_page() > > in 3d75ca0adef4 but those were all removed by b8753433fc61. > > > > A quick smoke test on my default testing config doesn't find any > > problems. Let me send a patch and see if the build bots complain. > > Disappointingly, it doesn't really change anything. 1134 files > depend on mm.h both before and after [1]. Looks like it's due to > arch/x86/include/asm/cacheflush.h pulling in linux/mm.h, judging by the > contents of .build_test_kernel-x86_64/net/ipv6/.inet6_hashtables.o.cmd. > But *lots* of header files pull in mm.h, including scatterlist.h, > vt_kern.h, net.h, nfs_fs.h, sunrpc/svc.h and security.h. > > I suppose it may cut down on include loops to drop it here, so I'm > still in favour of the patch I posted, but this illustrates how > deeply entangled our headers still are. +1 it's a bit of a chicken and an egg problem. Until mm.h is gone from bvec there's no point removing other headers which pull it in to skbuff.h.