Re: [PATCH v1 5/8] software node: Imply kobj_to_swnode() to be no-op

From: Andy Shevchenko
Date: Sun Mar 28 2021 - 08:51:30 EST


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