Nice cleanup, IMHO. Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx> > On Mar 9, 2021, at 12:57 PM, Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> wrote: > > My UEK-derived config has 1030 files depending on pagemap.h before > this change. Afterwards, just 326 files need to be rebuilt when I > touch pagemap.h. I think blkdev.h is probably included too widely, > but untangling that dependency is harder and this solves my problem. > x86 allmodconfig builds, but there may be implicit include problems > on other architectures. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > --- > v2: Fix CONFIG_SWAP=n implicit use of pagemap.h by swap.h. Increases > the number of files from 240, but that's still a big win -- 68% > reduction instead of 77%. > > block/blk-settings.c | 1 + > drivers/block/brd.c | 1 + > drivers/block/loop.c | 1 + > drivers/md/bcache/super.c | 1 + > drivers/nvdimm/btt.c | 1 + > drivers/nvdimm/pmem.c | 1 + > drivers/scsi/scsicam.c | 1 + > include/linux/blkdev.h | 1 - > include/linux/swap.h | 1 + > 9 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/block/blk-settings.c b/block/blk-settings.c > index b4aa2f37fab6..976085a44fb8 100644 > --- a/block/blk-settings.c > +++ b/block/blk-settings.c > @@ -7,6 +7,7 @@ > #include <linux/init.h> > #include <linux/bio.h> > #include <linux/blkdev.h> > +#include <linux/pagemap.h> > #include <linux/memblock.h> /* for max_pfn/max_low_pfn */ > #include <linux/gcd.h> > #include <linux/lcm.h> > diff --git a/drivers/block/brd.c b/drivers/block/brd.c > index 18bf99906662..2a5a1933826b 100644 > --- a/drivers/block/brd.c > +++ b/drivers/block/brd.c > @@ -18,6 +18,7 @@ > #include <linux/bio.h> > #include <linux/highmem.h> > #include <linux/mutex.h> > +#include <linux/pagemap.h> > #include <linux/radix-tree.h> > #include <linux/fs.h> > #include <linux/slab.h> > diff --git a/drivers/block/loop.c b/drivers/block/loop.c > index a370cde3ddd4..d58d68f3c7cd 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -53,6 +53,7 @@ > #include <linux/moduleparam.h> > #include <linux/sched.h> > #include <linux/fs.h> > +#include <linux/pagemap.h> > #include <linux/file.h> > #include <linux/stat.h> > #include <linux/errno.h> > diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c > index 71691f32959b..f154c89d1326 100644 > --- a/drivers/md/bcache/super.c > +++ b/drivers/md/bcache/super.c > @@ -16,6 +16,7 @@ > #include "features.h" > > #include <linux/blkdev.h> > +#include <linux/pagemap.h> > #include <linux/debugfs.h> > #include <linux/genhd.h> > #include <linux/idr.h> > diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c > index 41aa1f01fc07..18a267d5073f 100644 > --- a/drivers/nvdimm/btt.c > +++ b/drivers/nvdimm/btt.c > @@ -6,6 +6,7 @@ > #include <linux/highmem.h> > #include <linux/debugfs.h> > #include <linux/blkdev.h> > +#include <linux/pagemap.h> > #include <linux/module.h> > #include <linux/device.h> > #include <linux/mutex.h> > diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c > index b8a85bfb2e95..16760b237229 100644 > --- a/drivers/nvdimm/pmem.c > +++ b/drivers/nvdimm/pmem.c > @@ -8,6 +8,7 @@ > */ > > #include <linux/blkdev.h> > +#include <linux/pagemap.h> > #include <linux/hdreg.h> > #include <linux/init.h> > #include <linux/platform_device.h> > diff --git a/drivers/scsi/scsicam.c b/drivers/scsi/scsicam.c > index f1553a453616..0ffdb8f2995f 100644 > --- a/drivers/scsi/scsicam.c > +++ b/drivers/scsi/scsicam.c > @@ -17,6 +17,7 @@ > #include <linux/genhd.h> > #include <linux/kernel.h> > #include <linux/blkdev.h> > +#include <linux/pagemap.h> > #include <linux/msdos_partition.h> > #include <asm/unaligned.h> > > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index c032cfe133c7..1e2a95599390 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -11,7 +11,6 @@ > #include <linux/minmax.h> > #include <linux/timer.h> > #include <linux/workqueue.h> > -#include <linux/pagemap.h> > #include <linux/backing-dev-defs.h> > #include <linux/wait.h> > #include <linux/mempool.h> > diff --git a/include/linux/swap.h b/include/linux/swap.h > index 4cc6ec3bf0ab..ae194bb7ddb4 100644 > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -10,6 +10,7 @@ > #include <linux/sched.h> > #include <linux/node.h> > #include <linux/fs.h> > +#include <linux/pagemap.h> > #include <linux/atomic.h> > #include <linux/page-flags.h> > #include <asm/page.h> > -- > 2.30.0 > >