public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Improve ggc-page fragmentation
@ 2011-10-09 19:56 Andi Kleen
  2011-10-09 19:56 ` [PATCH 2/5] Increase the GGC quite size to 2MB Andi Kleen
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Andi Kleen @ 2011-10-09 19:56 UTC (permalink / raw)
  To: gcc-patches

I ran into problems with virtual memory fragmentation ggc-page on 
large LTO builds. The memory was so fragmented that builds
failed because the compiler would use more than the 64k mappings
Linux allows each process by default. 

For more details see PR 50636

This patchkit includes various improvements to the fragmentation
behaviour plus some optimizations to increase the use of 2MB
pages on modern Linux kernels. This fixes the fragmentation
problem for me and increases the use of huge pages significantly.

My simple benchmarks didn't show a lot of performance improvement
though.

On non Linux kernels the fragmentation problem will be still
somewhat visible (the best fix is using the Linux specific
MADV_DONTNEED), but the new threshold should still improve things
there.

All passed bootstrap and test suite run on x86-64.

-Andi

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2011-10-17  6:53 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-09 19:56 Improve ggc-page fragmentation Andi Kleen
2011-10-09 19:56 ` [PATCH 2/5] Increase the GGC quite size to 2MB Andi Kleen
2011-10-10 10:21   ` Richard Guenther
2011-10-10 13:58   ` Jan Hubicka
2011-10-09 19:56 ` [PATCH 3/5] On a Linux kernel ask explicitely for a huge page in ggc Andi Kleen
2011-10-10 10:17   ` Richard Guenther
2011-10-10 10:34     ` Jakub Jelinek
2011-10-10 14:04       ` Andi Kleen
2011-10-10 13:54     ` Andi Kleen
2011-10-09 19:56 ` [PATCH 5/5] Add error checking to lto_section_read Andi Kleen
2011-10-10 10:25   ` Richard Guenther
2011-10-09 20:09 ` [PATCH 4/5] Add a freeing threshold for the garbage collector Andi Kleen
2011-10-10 10:29   ` Richard Guenther
2011-10-10 14:06     ` Andi Kleen
2011-10-10 14:59       ` Richard Guenther
2011-10-09 22:18 ` [PATCH 1/5] Use MADV_DONTNEED for freeing in " Andi Kleen
2011-10-10 10:33   ` Richard Guenther
2011-10-10 10:48     ` Jakub Jelinek
2011-10-10 11:21       ` Richard Guenther
2011-10-10 11:58         ` Jakub Jelinek
2011-10-10 14:23     ` Andi Kleen
2011-10-10 15:05       ` Richard Guenther
2011-10-10 18:09         ` Andi Kleen
2011-10-16  9:04   ` Andi Kleen
2011-10-16 11:29     ` Richard Guenther
2011-10-16 19:38       ` Andi Kleen
2011-10-17  8:41         ` Richard Guenther

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).