Re: [PATCH 55 of 66] select CONFIG_COMPACTION if TRANSPARENT_HUGEPAGE enabled

Mel Gorman
2010-11-18T16:23:01Z

On Tue, Nov 09, 2010 at 10:11:45PM +0100, Andrea Arcangeli wrote:
> On Tue, Nov 09, 2010 at 03:20:33PM +0900, KOSAKI Motohiro wrote:
> > > From: Andrea Arcangeli <aarcange@redhat.com>
> > >
> > > With transparent hugepage support we need compaction for the "defrag" sysfs
> > > controls to be effective.
> > >
> > > Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
> > > ---
> > >
> > > diff --git a/mm/Kconfig b/mm/Kconfig
> > > --- a/mm/Kconfig
> > > +++ b/mm/Kconfig
> > > @@ -305,6 +305,7 @@ config NOMMU_INITIAL_TRIM_EXCESS
> > > config TRANSPARENT_HUGEPAGE
> > > bool "Transparent Hugepage Support"
> > > depends on X86 && MMU
> > > + select COMPACTION
> > > help
> > > Transparent Hugepages allows the kernel to use huge pages and
> > > huge tlb transparently to the applications whenever possible.
> >
> > I dislike this. THP and compaction are completely orthogonal. I think
> > you are talking only your performance recommendation. I mean I dislike
> > Kconfig 'select' hell and I hope every developers try to avoid it as
> > far as possible.
>
> At the moment THP hangs the system if COMPACTION isn't selected

Just to confirm - by hang, you mean grinds to a slow pace as opposed to
coming to a complete stop and having to restart?

If so then

Acked-by: Mel Gorman <mel@csn.ul.ie>

> (please try yourself if you don't believe), as without COMPACTION
> lumpy reclaim wouldn't be entirely disabled. So at the moment it's not
> orthogonal. When lumpy will be removed from the VM (like I tried
> multiple times to achieve) I can remove the select COMPACTION in
> theory, but then 99% of THP users would be still doing a mistake in
> disabling compaction, even if the mistake won't return in fatal
> runtime but just slightly degraded performance.
>

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab