public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Add missing page rounding of a page_entry
@ 2011-10-19  8:28 Andi Kleen
  2011-10-19  8:31 ` [PATCH 2/2] Free large chunks in ggc Andi Kleen
  2011-10-19  8:34 ` [PATCH 1/2] Add missing page rounding of a page_entry Jakub Jelinek
  0 siblings, 2 replies; 7+ messages in thread
From: Andi Kleen @ 2011-10-19  8:28 UTC (permalink / raw)
  To: gcc-patches; +Cc: Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

This one place in ggc forgot to round page_entry->bytes to the
next page boundary, which lead to all the heuristics in freeing to
check for continuous memory failing. Round here too, like all other
allocators already do. The memory consumed should be the same
for MMAP because the kernel would round anyways. It may slightly
increase memory usage when malloc groups are used.

This will also increase the hitrate on the free page list
slightly.

gcc/:

2011-10-18  Andi Kleen  <ak@linux.intel.com>

	* ggc-page.c (alloc_pages): Always round up entry_size.
---
 gcc/ggc-page.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index 2da99db..ba88e3f 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -736,6 +736,7 @@ alloc_page (unsigned order)
   entry_size = num_objects * OBJECT_SIZE (order);
   if (entry_size < G.pagesize)
     entry_size = G.pagesize;
+  entry_size = ROUND_UP (entry_size, G.pagesize);
 
   entry = NULL;
   page = NULL;
-- 
1.7.5.4

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

end of thread, other threads:[~2011-10-19 15:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-19  8:28 [PATCH 1/2] Add missing page rounding of a page_entry Andi Kleen
2011-10-19  8:31 ` [PATCH 2/2] Free large chunks in ggc Andi Kleen
2011-10-19  9:31   ` Jakub Jelinek
2011-10-19 15:05     ` Andi Kleen
2011-10-19 15:08       ` Jakub Jelinek
2011-10-19 17:01         ` Jan Hubicka
2011-10-19  8:34 ` [PATCH 1/2] Add missing page rounding of a page_entry Jakub Jelinek

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