[PATCH] Avoid ggc_collect () after WPA forking

2014-03-19 Thread Richard Biener
This patch avoids calling ggc_collect after we possibly forked during WPA phase as that necessarily causes a lot of page unsharing. I have verified that during a LTO bootstrap we do not allocate GC memory during (or after) lto_wpa_write_files, thus the effect on memory use should be positive

Re: [PATCH] Avoid ggc_collect () after WPA forking

2014-03-19 Thread Steven Bosscher
On Wed, Mar 19, 2014 at 12:10 PM, Richard Biener wrote: Index: gcc/ggc-page.c === --- gcc/ggc-page.c (revision 208642) +++ gcc/ggc-page.c (working copy) @@ -1199,6 +1199,8 @@ ggc_round_alloc_size (size_t requested_s

Re: [PATCH] Avoid ggc_collect () after WPA forking

2014-03-19 Thread Richard Biener
On Wed, 19 Mar 2014, Steven Bosscher wrote: On Wed, Mar 19, 2014 at 12:10 PM, Richard Biener wrote: Index: gcc/ggc-page.c === --- gcc/ggc-page.c (revision 208642) +++ gcc/ggc-page.c (working copy) @@ -1199,6

Re: [PATCH] Avoid ggc_collect () after WPA forking

2014-03-19 Thread Richard Biener
On Wed, 19 Mar 2014, Martin Liška wrote: There are stats for Firefox with LTO and -O2. According to graphs it looks that memory consumption for parallel WPA phase is similar. When I disable parallel WPA, wpa footprint is ~4GB, but ltrans memory footprint is similar to parallel WPA that

Re: [PATCH] Avoid ggc_collect () after WPA forking

2014-03-19 Thread Martin Liška
On 03/19/2014 03:55 PM, Richard Biener wrote: On Wed, 19 Mar 2014, Martin Liška wrote: There are stats for Firefox with LTO and -O2. According to graphs it looks that memory consumption for parallel WPA phase is similar. When I disable parallel WPA, wpa footprint is ~4GB, but ltrans memory

Re: [PATCH] Avoid ggc_collect () after WPA forking

2014-03-19 Thread Richard Biener
On Wed, 19 Mar 2014, Martin Liška wrote: On 03/19/2014 03:55 PM, Richard Biener wrote: On Wed, 19 Mar 2014, Martin Liška wrote: There are stats for Firefox with LTO and -O2. According to graphs it looks that memory consumption for parallel WPA phase is similar. When I disable