Re: [PATCH] mm: clarify COMPACTION Kconfig text
From: David Rientjes <rientjes@google.com>
Date: 2016-08-25 04:44:59
Also in:
lkml
On Tue, 23 Aug 2016, Michal Hocko wrote:
From: Michal Hocko <mhocko@suse.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.
quoted hunk ↗ jump to hunk
Signed-off-by: Michal Hocko <mhocko@suse.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@kvack.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. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>