On Tue, Jul 13, 2021 at 11:45:41AM +0300, Andy Shevchenko wrote: > kernel.h is being used as a dump for all kinds of stuff for a long time. > Here is the attempt cleaning it up by splitting out container_of() and > typeof_memeber() macros. That feels messy, why? Reading one .h file for these common macros/defines is fine, why are container_of and typeof somehow deserving of their own .h files? What speedups are you seeing by splitting this up? > At the same time convert users in the header and other folders to use it. > Though for time being include new header back to kernel.h to avoid twisted > indirected includes for existing users. > > Note, there are _a lot_ of headers and modules that include kernel.h solely > for one of these macros and this allows to unburden compiler for the twisted > inclusion paths and to make new code cleaner in the future. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > include/kunit/test.h | 14 ++++++++++++-- > include/linux/container_of.h | 37 ++++++++++++++++++++++++++++++++++++ > include/linux/kernel.h | 31 +----------------------------- > include/linux/kobject.h | 14 +++++++------- Why are all of these changes needed to kobject.h for this one change? This diff: > --- a/include/linux/kobject.h > +++ b/include/linux/kobject.h > @@ -15,18 +15,18 @@ > #ifndef _KOBJECT_H_ > #define _KOBJECT_H_ > > -#include <linux/types.h> > -#include <linux/list.h> > -#include <linux/sysfs.h> > +#include <linux/atomic.h> > #include <linux/compiler.h> > -#include <linux/spinlock.h> > +#include <linux/container_of.h> > +#include <linux/list.h> > #include <linux/kref.h> > #include <linux/kobject_ns.h> > -#include <linux/kernel.h> > #include <linux/wait.h> > -#include <linux/atomic.h> > -#include <linux/workqueue.h> > +#include <linux/spinlock.h> > +#include <linux/sysfs.h> > +#include <linux/types.h> > #include <linux/uidgid.h> > +#include <linux/workqueue.h> Is a lot more changes than the "split the macros out" deserves. Please make this a separate change, remember to only do one thing at a time (this patch is at least 2 changes...) so NAK, this change isn't ok as-is. greg k-h