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

Andrea Arcangeli
2010-11-09T21:13:21Z

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