From: Arnaldo Carvalho de Melo <acme@mandriva.com>
To: Adrian Bunk <bunk@stusta.de>
Cc: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org, lwn@lwn.net
Subject: Re: Top 100 inline functions (make allyesconfig) was Re: [ANNOUNCE] pahole and other DWARF2 utilities
Date: Sun, 5 Nov 2006 14:42:37 -0200 [thread overview]
Message-ID: <20061105164236.GA3363@mandriva.com> (raw)
In-Reply-To: <20061105063037.GU13381@stusta.de>
On Sun, Nov 05, 2006 at 07:30:37AM +0100, Adrian Bunk wrote:
> 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.
Sure thing, I did it with allyesconfig to see if the tools were able to
handle that much data, its not perfect, far from it, but it works on my
notebook :-) Neverthless its already a data point for lots of
interesting cases.
One thing I'll do is to get the debug rpms in, say, Mandriva, Fedora,
etc and use them as more down to earth guinea pigs, for that I'll add
support for multi file, not just for multi object, single file ELF
files. Also just using the config files used in major distros is on my
TODO list, of course enabling the extra config options needed to have
the DWARF2 elf sections needed by the tools, these sections don't affect
the binary, are just extra ELF sections, that the 'strip(1)' tool loves
:-)
Stay tuned,
- Arnaldo
prev parent reply other threads:[~2006-11-05 16:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-30 21:33 [ANNOUNCE] pahole and other DWARF2 utilities Arnaldo Carvalho de Melo
2006-10-31 4:33 ` Andrew Morton
2006-10-31 16:05 ` Thiago Galesi
2006-10-31 17:28 ` Arnaldo Carvalho de Melo
2006-10-31 17:22 ` Arnaldo Carvalho de Melo
2006-10-31 20:45 ` Arnaldo Carvalho de Melo
2006-11-03 15:51 ` Arnaldo Carvalho de Melo
2006-11-03 19:07 ` Arnaldo Carvalho de Melo
2006-11-04 21:03 ` Top 100 inline functions (make allyesconfig) was " Arnaldo Carvalho de Melo
2006-11-05 6:30 ` Adrian Bunk
2006-11-05 16:42 ` Arnaldo Carvalho de Melo [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061105164236.GA3363@mandriva.com \
--to=acme@mandriva.com \
--cc=akpm@osdl.org \
--cc=bunk@stusta.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lwn@lwn.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox