From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938296AbdEYOYb (ORCPT ); Thu, 25 May 2017 10:24:31 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:54049 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761809AbdEYOTz (ORCPT ); Thu, 25 May 2017 10:19:55 -0400 X-ME-Sender: X-Sasl-enc: XbGU/8S1Bx7wH4J4ojmXsyCXQr7Ph3oK+1mEaghjgybQ 1495721994 From: Zi Yan To: n-horiguchi@ah.jp.nec.com, kirill.shutemov@linux.intel.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, minchan@kernel.org, vbabka@suse.cz, mgorman@techsingularity.net, mhocko@kernel.org, khandual@linux.vnet.ibm.com, zi.yan@cs.rutgers.edu, dnellans@nvidia.com, dave.hansen@intel.com Subject: [PATCH v6 04/10] mm: thp: introduce CONFIG_ARCH_ENABLE_THP_MIGRATION Date: Thu, 25 May 2017 10:19:39 -0400 Message-Id: <20170525141945.56028-5-zi.yan@sent.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170525141945.56028-1-zi.yan@sent.com> References: <20170525141945.56028-1-zi.yan@sent.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Naoya Horiguchi Introduces CONFIG_ARCH_ENABLE_THP_MIGRATION to limit thp migration functionality to x86_64, which should be safer at the first step. ChangeLog v1 -> v2: - fixed config name in subject and patch description Signed-off-by: Naoya Horiguchi Reviewed-by: Anshuman Khandual --- arch/x86/Kconfig | 4 ++++ include/linux/huge_mm.h | 10 ++++++++++ mm/Kconfig | 3 +++ 3 files changed, 17 insertions(+) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index b6373817e6f4..631af221ce63 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2276,6 +2276,10 @@ config ARCH_ENABLE_HUGEPAGE_MIGRATION def_bool y depends on X86_64 && HUGETLB_PAGE && MIGRATION +config ARCH_ENABLE_THP_MIGRATION + def_bool y + depends on X86_64 && TRANSPARENT_HUGEPAGE + menu "Power management and ACPI options" config ARCH_HIBERNATION_HEADER diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index d3b3e8fcc717..93635a6e32b0 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -213,6 +213,11 @@ void mm_put_huge_zero_page(struct mm_struct *mm); #define mk_huge_pmd(page, prot) pmd_mkhuge(mk_pmd(page, prot)) +static inline bool thp_migration_supported(void) +{ + return IS_ENABLED(CONFIG_ARCH_ENABLE_THP_MIGRATION); +} + #else /* CONFIG_TRANSPARENT_HUGEPAGE */ #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; }) #define HPAGE_PMD_MASK ({ BUILD_BUG(); 0; }) @@ -313,6 +318,11 @@ static inline struct page *follow_devmap_pud(struct vm_area_struct *vma, { return NULL; } + +static inline bool thp_migration_supported(void) +{ + return false; +} #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ #endif /* _LINUX_HUGE_MM_H */ diff --git a/mm/Kconfig b/mm/Kconfig index 0354a4be5a55..1cc90f52ac07 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -289,6 +289,9 @@ config MIGRATION config ARCH_ENABLE_HUGEPAGE_MIGRATION bool +config ARCH_ENABLE_THP_MIGRATION + bool + config PHYS_ADDR_T_64BIT def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT -- 2.11.0