Re: Top 100 inline functions (make allyesconfig) was Re: [ANNOUNCE] pahole and other DWARF2 utilities

Adrian Bunk
2006-11-05T06:30:37Z

On Sat, Nov 04, 2006 at 06:03:32PM -0300, Arnaldo Carvalho de Melo wrote:
> On Fri, Nov 03, 2006 at 04:07:29PM -0300, Arnaldo Carvalho de Melo wrote:
> > On Mon, Oct 30, 2006 at 08:33:34PM -0800, Andrew Morton wrote:
> > > On Mon, 30 Oct 2006 18:33:19 -0300
> > > Arnaldo Carvalho de Melo <acme@mandriva.com> wrote:
> > >
> > > > Further ideas on how to use the DWARF2 information include tools
> > > > that will show where inlines are being used, how much code is added by
> > > > inline functions,
> > >
> > > It would be quite useful to be able to identify inlined functions which are
> > > good candidates for uninlining.
> >
> > Top 50 inline functions expanded more than once by sum of its expansions
> > in a vmlinux file built for qemu, most things are modules, columns are
> > (inline function name, number of times it was expanded, sum in bytes of
> > its expansions, number of source files where expansions ocurred):
> >
> > [acme@newtoy guinea_pig-2.6]$ pfunct --total_inline_stats
> > ../../acme/OUTPUT/qemu/net-2.6/vmlinux | grep -v ': 1 ' | sort -k3 -nr |
> > head -50
> >
> > get_current 676 5732 155
>
> Ok, this time for a 'make allyesconfig' build, top 100, for the list of
> all 6021 inline functions that were expanded more than once in this 281
> MB vmlinux image download the 93 KB files at:
>...

Thanks, this is interesting data.

One thing you could do for improving the result:

allyesconfig turns on all debugging option, and there might be functions
that are significantely larger due to this fact.

Unsetting *DEBUG* options in the .config might bring a better focus
on the real-world problems.

> - Arnaldo
>...

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed