From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965911AbcIHRC6 (ORCPT ); Thu, 8 Sep 2016 13:02:58 -0400 Received: from mga05.intel.com ([192.55.52.43]:63021 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S941339AbcIHRC4 (ORCPT ); Thu, 8 Sep 2016 13:02:56 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,301,1470726000"; d="scan'208";a="6200905" From: "Huang\, Ying" To: "Kirill A. Shutemov" Cc: "Huang\, Ying" , Andrew Morton , , , , , , , Andrea Arcangeli , "Kirill A . Shutemov" , Ebru Akagunduz Subject: Re: [PATCH -v3 08/10] mm, THP: Add can_split_huge_page() References: <1473266769-2155-1-git-send-email-ying.huang@intel.com> <1473266769-2155-9-git-send-email-ying.huang@intel.com> <20160908111752.GE17331@node> Date: Thu, 08 Sep 2016 10:02:55 -0700 In-Reply-To: <20160908111752.GE17331@node> (Kirill A. Shutemov's message of "Thu, 8 Sep 2016 14:17:52 +0300") Message-ID: <87h99q5npc.fsf@yhuang-mobile.sh.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Kirill, Thanks for your comments! "Kirill A. Shutemov" writes: > On Wed, Sep 07, 2016 at 09:46:07AM -0700, Huang, Ying wrote: >> From: Huang Ying >> >> Separates checking whether we can split the huge page from >> split_huge_page_to_list() into a function. This will help to check that >> before splitting the THP (Transparent Huge Page) really. >> >> This will be used for delaying splitting THP during swapping out. Where >> for a THP, we will allocate a swap cluster, add the THP into the swap >> cache, then split the THP. To avoid the unnecessary operations for the >> un-splittable THP, we will check that firstly. >> >> There is no functionality change in this patch. >> >> Cc: Andrea Arcangeli >> Cc: Kirill A. Shutemov >> Cc: Ebru Akagunduz >> Signed-off-by: "Huang, Ying" >> --- >> include/linux/huge_mm.h | 6 ++++++ >> mm/huge_memory.c | 13 ++++++++++++- >> 2 files changed, 18 insertions(+), 1 deletion(-) >> >> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h >> index 9b9f65d..a0073e7 100644 >> --- a/include/linux/huge_mm.h >> +++ b/include/linux/huge_mm.h >> @@ -94,6 +94,7 @@ extern unsigned long thp_get_unmapped_area(struct file *filp, >> extern void prep_transhuge_page(struct page *page); >> extern void free_transhuge_page(struct page *page); >> >> +bool can_split_huge_page(struct page *page); >> int split_huge_page_to_list(struct page *page, struct list_head *list); >> static inline int split_huge_page(struct page *page) >> { >> @@ -176,6 +177,11 @@ static inline void prep_transhuge_page(struct page *page) {} >> >> #define thp_get_unmapped_area NULL >> >> +static inline bool >> +can_split_huge_page(struct page *page) >> +{ > > BUILD_BUG() should be appropriate here. Yes. Will add it. >> + return false; >> +} Best Regards, Huang, Ying