[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56F21395.8060608@oracle.com>
Date: Wed, 23 Mar 2016 09:25:01 +0530
From: Vaishali Thakkar <vaishali.thakkar@...cle.com>
To: Hillf Danton <hillf.zj@...baba-inc.com>, akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
"'Mike Kravetz'" <mike.kravetz@...cle.com>,
"'Naoya Horiguchi'" <n-horiguchi@...jp.nec.com>,
"'Michal Hocko'" <mhocko@...e.com>,
"'Yaowei Bai'" <baiyaowei@...s.chinamobile.com>,
"'Dominik Dingel'" <dingel@...ux.vnet.ibm.com>,
"'Kirill A. Shutemov'" <kirill.shutemov@...ux.intel.com>,
"'Paul Gortmaker'" <paul.gortmaker@...driver.com>,
"'Dave Hansen'" <dave.hansen@...ux.intel.com>,
"'Chris Metcalf'" <cmetcalf@...hip.com>
Subject: Re: [PATCH 2/2] arch:mm: Use hugetlb_bad_size
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 <vaishali.thakkar@...cle.com>
>> Cc: Mike Kravetz <mike.kravetz@...cle.com>
>> Cc: Naoya Horiguchi <n-horiguchi@...jp.nec.com>
>> Cc: Hillf Danton <hillf.zj@...baba-inc.com>
>> Cc: Michal Hocko <mhocko@...e.com>
>> Cc: Yaowei Bai <baiyaowei@...s.chinamobile.com>
>> Cc: Dominik Dingel <dingel@...ux.vnet.ibm.com>
>> Cc: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
>> Cc: Paul Gortmaker <paul.gortmaker@...driver.com>
>> Cc: Dave Hansen <dave.hansen@...ux.intel.com>
>> ---
>> - 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_<level> 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 <cmetcalf@...hip.com> 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
Powered by blists - more mailing lists