From: Teresa Johnson <tejohnson@google.com>
To: "Martin Liška" <marxin.liska@gmail.com>
Cc: Jan Hubicka <hubicka@ucw.cz>, Jeff Law <law@redhat.com>,
"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH i386] Enable -freorder-blocks-and-partition
Date: Tue, 17 Dec 2013 15:09:00 -0000 [thread overview]
Message-ID: <CAAe5K+Wxsj5Q7haGW5cMAVB+JhYKgxL0UkSgSNg71FFsHutbAA@mail.gmail.com> (raw)
In-Reply-To: <CAObPJ3O3=kAvM2GRdacgub5HzEKY9sj0kbJEEqO7MZfEAgMBSA@mail.gmail.com>
Thanks for the data. A few questions:
- Do you have the raw data used to generate your pdfs available? Since
you gave me the binaries, if I have the data in terms of exactly what
addresses are being plotted I can correlate with the specific cold
functions via nm. Once I know what cold functions are being hit, I
would then need the .i files and the .gcda files to reproduce the
build.
- I tried running the binaries, but don't have the necessary shared
library dependencies installed on my system:
$ ldd gimp-2.8 | grep found
libgimpwidgets-2.0.so.0 => not found
libgimpconfig-2.0.so.0 => not found
libgimpcolor-2.0.so.0 => not found
libgimpmath-2.0.so.0 => not found
libgimpthumb-2.0.so.0 => not found
libgimpmodule-2.0.so.0 => not found
libgimpbase-2.0.so.0 => not found
libgegl-0.2.so.0 => not found
libbabl-0.1.so.0 => not found
I'll try to get these installed, but the last time I did that in an
attempt to build gimp I had a lot of trouble trying to get the right
versions and get them to build for me - any chance you could build an
archive version of the gimp binary?
Thanks,
Teresa
On Sun, Dec 15, 2013 at 2:19 PM, Martin Liška <marxin.liska@gmail.com> wrote:
> On 15 December 2013 23:17, Martin Liška <marxin.liska@gmail.com> wrote:
>> Dear Jan and Teresa,
>> Jan was right that I've been using changes which were commited by
>> Teresa and do live in trunk. So the graph with time profile presented
>> in my previous post was really with enabled
>> -freorder-blocks-and-partition. I removed the hack in varasm.c and I
>> do use classic section layout. Please open the following dump
>> (includes PDF graph+html report that shows functions with time profile
>> located in cold section and all -fdump-ipa-all dumps):
>>
>> https://drive.google.com/file/d/0B0pisUJ80pO1YW1QWUFkZjdqME0/edit?usp=sharing
>>
>> Apart from that, I created also PDF graph (https://drive.google.com/file/d/0B0pisUJ80pO1aHhPWW56dXpLVTQ/edit?usp=sharing) that
>> shows that time profile is almost perfect for GIMP. I miss just some
>> examples that do not have profile in generate phase.
>>
>> I will merge current trunk and prepare final patch.
>>
>> Are there any other data that you want to be prepared?
>>
>> Martin
>>
>>
>> On 13 December 2013 02:13, Jan Hubicka <hubicka@ucw.cz> wrote:
>>>> On Wed, Dec 11, 2013 at 1:21 AM, Martin Liška <marxin.liska@gmail.com> wrote:
>>>> > Hello,
>>>> > I prepared a collection of systemtap graphs for GIMP.
>>>> >
>>>> > 1) just my profile-based function reordering: 550 pages
>>>> > 2) just -freorder-blocks-and-partitions: 646 pages
>>>> > 3) just -fno-reorder-blocks-and-partitions: 638 pages
>>>> >
>>>> > Please see attached data.
>>>>
>>>> Thanks for the data. A few observations/questions:
>>>>
>>>> With both 1) (your (time-based?) reordering) and 2)
>>>> (-freorder-blocks-and-partitions) there are a fair amount of accesses
>>>> out of the cold section. I'm not seeing so many accesses out of the
>>>> cold section in the apps I am looking at with splitting enabled. In
>>>
>>> I see you already comitted the patch, so perhaps Martin's measurement assume
>>> the pass is off by default?
>>>
>>> I rebuilded GCC with profiledboostrap and with the linkerscript unmapping
>>> text.unlikely. I get ICE in:
>>> (gdb) bt
>>> #0 diagnostic_set_caret_max_width(diagnostic_context*, int) () at ../../gcc/diagnostic.c:108
>>> #1 0x0000000000f68457 in diagnostic_initialize (context=0x18ae000 <global_diagnostic_context>, n_opts=n_opts@entry=1290) at ../../gcc/diagnostic.c:135
>>> #2 0x000000000100050e in general_init (argv0=<optimized out>) at ../../gcc/toplev.c:1110
>>> #3 toplev_main(int, char**) () at ../../gcc/toplev.c:1922
>>> #4 0x00007ffff774cbe5 in __libc_start_main () from /lib64/libc.so.6
>>> #5 0x0000000000f7898d in _start () at ../sysdeps/x86_64/start.S:122
>>>
>>> That is relatively early in startup process. The function seems inlined and
>>> it fails only on second invocation, did not have time to investigate further,
>>> yet while without -fprofile-use it starts...
>>>
>>> On our periodic testers I see off-noise improvement in crafty 2200->2300
>>> and regression on Vortex, 2900->2800, plus code size increase.
>>>
>>> Honza
--
Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413
next prev parent reply other threads:[~2013-12-17 15:09 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-19 15:17 Teresa Johnson
2013-11-19 16:31 ` Jan Hubicka
2013-11-19 18:23 ` Teresa Johnson
2013-11-19 19:32 ` Jeff Law
2013-11-20 1:55 ` Teresa Johnson
[not found] ` <CAObPJ3OZHvET=QNmNtx9ZjaHZk=GhokWjoF2njr5mgwcv2ogDA@mail.gmail.com>
2013-11-28 16:34 ` Jan Hubicka
2013-12-02 15:16 ` Teresa Johnson
2013-12-02 16:17 ` Jeff Law
2013-12-02 16:53 ` Martin Liška
2013-12-11 9:21 ` Martin Liška
2013-12-12 5:51 ` Teresa Johnson
2013-12-12 20:54 ` Jan Hubicka
2013-12-13 1:13 ` Jan Hubicka
[not found] ` <CAObPJ3MLrWsTwK-23ienktyASO9YLvAXMNKUxVm3v+KC=5JzOA@mail.gmail.com>
2013-12-15 22:19 ` Martin Liška
2013-12-17 15:09 ` Teresa Johnson [this message]
2013-12-20 6:19 ` Teresa Johnson
2014-02-11 22:21 ` Teresa Johnson
2014-02-14 18:50 ` Teresa Johnson
2013-11-19 22:05 ` Andi Kleen
2013-11-19 22:10 ` Teresa Johnson
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=CAAe5K+Wxsj5Q7haGW5cMAVB+JhYKgxL0UkSgSNg71FFsHutbAA@mail.gmail.com \
--to=tejohnson@google.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=hubicka@ucw.cz \
--cc=law@redhat.com \
--cc=marxin.liska@gmail.com \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).