On Sun, Oct 9, 2011 at 9:55 PM, Andi Kleen <a...@firstfloor.org> wrote: > From: Andi Kleen <a...@linux.intel.com> > > Benchmarks show slightly faster build times on a kernel > build, near the measurement error unfortunately. > > This will only work with a recent glibc that defines MADV_HUGEPAGE.
Will partial unmaps fail or split the page? Richard. > 2011-10-08 Andi Kleen <a...@linux.intel.com> > > * ggc-page.c (alloc_page): Add madvise for hugepage > --- > gcc/ggc-page.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c > index 1f52b56..6e08cda 100644 > --- a/gcc/ggc-page.c > +++ b/gcc/ggc-page.c > @@ -779,6 +779,11 @@ alloc_page (unsigned order) > > page = alloc_anon (NULL, G.pagesize * GGC_QUIRE_SIZE); > > +#if defined(HAVE_MADVISE) && defined(MADV_HUGEPAGE) > + /* Kernel, I would like to have hugepages, please. */ > + madvise(page, G.pagesize * GGC_QUIRE_SIZE, MADV_HUGEPAGE); > +#endif > + > /* This loop counts down so that the chain will be in ascending > memory order. */ > for (i = GGC_QUIRE_SIZE - 1; i >= 1; i--) > -- > 1.7.5.4 > >