On Mon, Dec 18, 2023 at 06:44:48PM +0000, [email protected] wrote: > This diff uses an open source tool include-what-you-use (IWYU) to modify > the include list changing indirect includes to direct includes. > IWYU is implemented using the IWYUScripts github repository which is a tool > that is > currently undergoing development. These changes seek to improve build times. > > This change to lib/string.c resulted in a preprocessed size of > lib/string.i from 26371 lines to 5263 lines (-80%) for the x86 > defconfig.
... > #define __NO_FORTIFY > #include <linux/types.h> > -#include <linux/string.h> > -#include <linux/ctype.h> > -#include <linux/kernel.h> > -#include <linux/export.h> > +#include <linux/bits.h> > #include <linux/bug.h> > #include <linux/errno.h> > -#include <linux/slab.h> > - Why this blank is removed? > +#include <linux/linkage.h> > +#include <linux/stddef.h> > +#include <linux/string.h> > +#include <linux/ctype.h> > #include <asm/unaligned.h> > -#include <asm/byteorder.h> > +#include <asm/rwonce.h> > #include <asm/word-at-a-time.h> > #include <asm/page.h> Sort this group alphabetically as well. > +#include <vdso/limits.h> Just use linux/limits.h. VDSO is a very special UAPI case. So it's even stricter rule than for asm/ for using anything from there. Expected result: #include <linux/bits.h> #include <linux/bug.h> #include <linux/ctype.h> #include <linux/errno.h> #include <linux/limits.h> #include <linux/linkage.h> #include <linux/stddef.h> #include <linux/string.h> #include <linux/types.h> #include <asm/page.h> #include <asm/rwonce.h> #include <asm/unaligned.h> #include <asm/word-at-a-time.h> -- With Best Regards, Andy Shevchenko
