Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754069AbcCWDzs (ORCPT ); Tue, 22 Mar 2016 23:55:48 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:21855 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753790AbcCWDzj (ORCPT ); Tue, 22 Mar 2016 23:55:39 -0400 Subject: Re: [PATCH 2/2] arch:mm: Use hugetlb_bad_size To: Hillf Danton , akpm@linux-foundation.org References: <1458641159-13643-1-git-send-email-vaishali.thakkar@oracle.com> <0afe01d184b2$3f564ac0$be02e040$@alibaba-inc.com> Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, "'Mike Kravetz'" , "'Naoya Horiguchi'" , "'Michal Hocko'" , "'Yaowei Bai'" , "'Dominik Dingel'" , "'Kirill A. Shutemov'" , "'Paul Gortmaker'" , "'Dave Hansen'" , "'Chris Metcalf'" From: Vaishali Thakkar Message-ID: <56F21395.8060608@oracle.com> Date: Wed, 23 Mar 2016 09:25:01 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <0afe01d184b2$3f564ac0$be02e040$@alibaba-inc.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4467 Lines: 125 On Wednesday 23 March 2016 08:45 AM, Hillf Danton wrote: >> Update the setup_hugepagesz function to call the routine >> hugetlb_bad_size when unsupported hugepage size is found. >> >> Misc: >> - Silent 80 characters warning >> >> Signed-off-by: Vaishali Thakkar >> Cc: Mike Kravetz >> Cc: Naoya Horiguchi >> Cc: Hillf Danton >> Cc: Michal Hocko >> Cc: Yaowei Bai >> Cc: Dominik Dingel >> Cc: Kirill A. Shutemov >> Cc: Paul Gortmaker >> Cc: Dave Hansen >> --- >> - Please note that the patch is tested for x86 only. But as this >> is one line change I just changed them. So, it would be good if >> the patch can be tested for other architectures before adding >> this in to mainline. >> - Not sure if printk related checkpatch.pl warning should be resolved >> with this patch as code is not consistent in architectures. May be >> one separate patch for changing all printk's to pr_ kind of >> debugging functions would be good. >> --- >> arch/arm64/mm/hugetlbpage.c | 1 + >> arch/metag/mm/hugetlbpage.c | 1 + >> arch/powerpc/mm/hugetlbpage.c | 7 +++++-- >> arch/tile/mm/hugetlbpage.c | 7 ++++++- > Looks Chris Metcalf not cced;-( > >> arch/x86/mm/hugetlbpage.c | 1 + >> 5 files changed, 14 insertions(+), 3 deletions(-) >> > Help more if separate patches rather than a monolithic one are > delivered to the arch maintainers. Do you want me to send new version of the patchset breaking this patch in to separate patches? >> diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c >> index 589fd28..aa8aee7 100644 >> --- a/arch/arm64/mm/hugetlbpage.c >> +++ b/arch/arm64/mm/hugetlbpage.c >> @@ -307,6 +307,7 @@ static __init int setup_hugepagesz(char *opt) >> } else if (ps == PUD_SIZE) { >> hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT); >> } else { >> + hugetlb_bad_size(); >> pr_err("hugepagesz: Unsupported page size %lu K\n", ps >> 10); >> return 0; >> } >> diff --git a/arch/metag/mm/hugetlbpage.c b/arch/metag/mm/hugetlbpage.c >> index b38700a..db1b7da 100644 >> --- a/arch/metag/mm/hugetlbpage.c >> +++ b/arch/metag/mm/hugetlbpage.c >> @@ -239,6 +239,7 @@ static __init int setup_hugepagesz(char *opt) >> if (ps == (1 << HPAGE_SHIFT)) { >> hugetlb_add_hstate(HPAGE_SHIFT - PAGE_SHIFT); >> } else { >> + hugetlb_bad_size(); >> pr_err("hugepagesz: Unsupported page size %lu M\n", >> ps >> 20); >> return 0; >> diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c >> index 6dd272b..a437ff7 100644 >> --- a/arch/powerpc/mm/hugetlbpage.c >> +++ b/arch/powerpc/mm/hugetlbpage.c >> @@ -772,8 +772,11 @@ static int __init hugepage_setup_sz(char *str) >> >> size = memparse(str, &str); >> >> - if (add_huge_page_size(size) != 0) >> - printk(KERN_WARNING "Invalid huge page size specified(%llu)\n", size); >> + if (add_huge_page_size(size) != 0) { >> + hugetlb_bad_size(); >> + printk(KERN_WARNING "Invalid huge page size specified(%llu)\n", >> + size); >> + } >> >> return 1; >> } >> diff --git a/arch/tile/mm/hugetlbpage.c b/arch/tile/mm/hugetlbpage.c >> index e212c64..77ceaa3 100644 >> --- a/arch/tile/mm/hugetlbpage.c >> +++ b/arch/tile/mm/hugetlbpage.c >> @@ -308,11 +308,16 @@ static bool saw_hugepagesz; >> >> static __init int setup_hugepagesz(char *opt) >> { >> + int rc; >> + >> if (!saw_hugepagesz) { >> saw_hugepagesz = true; >> memset(huge_shift, 0, sizeof(huge_shift)); >> } >> - return __setup_hugepagesz(memparse(opt, NULL)); >> + rc = __setup_hugepagesz(memparse(opt, NULL)); >> + if (rc) >> + hugetlb_bad_size(); >> + return rc; >> } >> __setup("hugepagesz=", setup_hugepagesz); >> >> diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c >> index 740d7ac..3ec44f8 100644 >> --- a/arch/x86/mm/hugetlbpage.c >> +++ b/arch/x86/mm/hugetlbpage.c >> @@ -165,6 +165,7 @@ static __init int setup_hugepagesz(char *opt) >> } else if (ps == PUD_SIZE && cpu_has_gbpages) { >> hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT); >> } else { >> + hugetlb_bad_size(); >> printk(KERN_ERR "hugepagesz: Unsupported page size %lu M\n", >> ps >> 20); >> return 0; >> -- >> 2.1.4 -- Vaishali