[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1608241750220.98155@chino.kir.corp.google.com>
Date: Wed, 24 Aug 2016 17:54:52 -0700 (PDT)
From: David Rientjes <rientjes@...gle.com>
To: Michal Hocko <mhocko@...nel.org>
cc: Andrew Morton <akpm@...ux-foundation.org>,
Mel Gorman <mgorman@...e.de>, Joonsoo Kim <js1304@...il.com>,
Vlastimil Babka <vbabka@...e.cz>,
Markus Trippelsdorf <markus@...ppelsdorf.de>,
linux-mm@...ck.org, LKML <linux-kernel@...r.kernel.org>,
Michal Hocko <mhocko@...e.com>
Subject: Re: [PATCH] mm: clarify COMPACTION Kconfig text
On Tue, 23 Aug 2016, Michal Hocko wrote:
> From: Michal Hocko <mhocko@...e.com>
>
> The current wording of the COMPACTION Kconfig help text doesn't
> emphasise that disabling COMPACTION might cripple the page allocator
> which relies on the compaction quite heavily for high order requests and
> an unexpected OOM can happen with the lack of compaction. Make sure
> we are vocal about that.
>
Since when has this been an issue? I don't believe it has been an issue
in the past for any archs that don't use thp.
> Signed-off-by: Michal Hocko <mhocko@...e.com>
> ---
> mm/Kconfig | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 78a23c5c302d..0dff2f05b6d1 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -262,7 +262,14 @@ config COMPACTION
> select MIGRATION
> depends on MMU
> help
> - Allows the compaction of memory for the allocation of huge pages.
> + Compaction is the only memory management component to form
> + high order (larger physically contiguous) memory blocks
> + reliably. Page allocator relies on the compaction heavily and
> + the lack of the feature can lead to unexpected OOM killer
> + invocation for high order memory requests. You shouldnm't
> + disable this option unless there is really a strong reason for
> + it and then we are really interested to hear about that at
> + linux-mm@...ck.org.
>
> #
> # support for page migration
This seems to strongly suggest that all kernels should be built with
CONFIG_COMPACTION and its requirement, CONFIG_MIGRATION. Migration has a
dependency of NUMA or memory hot-remove (not all popular). Compaction can
defragment memory within single zone without reliance on NUMA.
This seems like a very bizarre requirement and I'm wondering where we
regressed from this thp-only behavior.
Powered by blists - more mailing lists