On Sun, Mar 28, 2021 at 11:47 AM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Sun, Mar 28, 2021 at 12:20:09AM +0200, Andy Shevchenko wrote: > > Since we don't use structure field layout randomization > > the manual shuffling can affect some macros, in particular > > kobj_to_swnode(), which becomes a no-op when kobj member > > is the first one in the struct swnode. > > > > Bloat-o-meter statistics: > > > > add/remove: 0/0 grow/shrink: 2/10 up/down: 9/-100 (-91) > > Total: Before=7217, After=7126, chg -1.26% > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > --- > > drivers/base/swnode.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c > > index 22f81688af2c..ae53c48f84b1 100644 > > --- a/drivers/base/swnode.c > > +++ b/drivers/base/swnode.c > > @@ -13,10 +13,10 @@ > > #include <linux/sysfs.h> > > > > struct swnode { > > - int id; > > struct kobject kobj; > > struct fwnode_handle fwnode; > > const struct software_node *node; > > + int id; > > So you remove one math operation on a pointer and get a 1% size decrease > of the whole kernel? Or just one file? One file, swnode.o. I'll clarify this in the commit message. -- With Best Regards, Andy Shevchenko