On 3/10/21 3:57 AM, Matthew Wilcox (Oracle) 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(-) > [snipped] > 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>[snipped] For bcache part, Acked-by: Coly Li <colyli@xxxxxxx> Thanks. Coly Li