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@xxxxxxxxxx> >> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> >> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> >> Cc: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> >> Cc: Michal Hocko <mhocko@xxxxxxxx> >> Cc: Yaowei Bai <baiyaowei@xxxxxxxxxxxxxxxxxxxx> >> Cc: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> >> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> >> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> >> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> >> --- >> - 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@xxxxxxxxxx> 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>