linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Mike Kravetz <mike.kravetz@oracle.com>
To: Chen Wandun <chenwandun@huawei.com>,
	akpm@linux-foundation.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/hugetlb: suppress wrong warning info when alloc gigantic page
Date: Fri, 19 Feb 2021 11:14:00 -0800	[thread overview]
Message-ID: <46e76ac3-def1-80d4-14f1-61f7cd00d033@oracle.com> (raw)
In-Reply-To: <20210219123909.13130-1-chenwandun@huawei.com>

On 2/19/21 4:39 AM, Chen Wandun wrote:
> If hugetlb_cma is enabled, it will skip boot time allocation
> when allocating gigantic page, that doesn't means allocation
> failure, so suppress this warning info.
> 

Normally the addition of warning messages is discouraged.  However, in
this case the additional message provides value.  Why?

Prior to the commit cf11e85fc08c, one could have a kernel command line
that contains:

hugepagesz=1G hugepages=16

This would allocate 16 1G pages at boot time.

After the commit, someone could specify a command line containing:

hugepagesz=1G hugepages=16 hugetlb_cma=16G

In this case, 16G of CMA will be reserved for 1G huge page allocations
after boot time.  The parameter 'hugepages=16' is ignored, and the warning
message is logged.  The warning message should only be logged when the
kernel parameter 'hugepages=' is ignored.

IMO, it make sense to log a warning if ignoring a user specified parameter.
The user should not be attempting boot time allocation and CMA reservation
for 1G pages.

I do not think we should drop the warning as the it tells the user thay
have specified two incompatible allocation options.
-- 
Mike Kravetz


> Fixes: cf11e85fc08c ("mm: hugetlb: optionally allocate gigantic hugepages using cma")
> Signed-off-by: Chen Wandun <chenwandun@huawei.com>
> ---
>  mm/hugetlb.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index b6992297aa16..98a49cb9250c 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -2465,7 +2465,7 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h)
>  		if (hstate_is_gigantic(h)) {
>  			if (hugetlb_cma_size) {
>  				pr_warn_once("HugeTLB: hugetlb_cma is enabled, skip boot time allocation\n");
> -				break;
> +				goto free;
>  			}
>  			if (!alloc_bootmem_huge_page(h))
>  				break;
> @@ -2483,7 +2483,7 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h)
>  			h->max_huge_pages, buf, i);
>  		h->max_huge_pages = i;
>  	}
> -
> +free:
>  	kfree(node_alloc_noretry);
>  }
>  
> 


  reply	other threads:[~2021-02-19 19:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-19 12:39 Chen Wandun
2021-02-19 19:14 ` Mike Kravetz [this message]
2021-03-04  9:35   ` David Hildenbrand
2021-03-04 17:20     ` Mike Kravetz
2021-03-04 17:21       ` David Hildenbrand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46e76ac3-def1-80d4-14f1-61f7cd00d033@oracle.com \
    --to=mike.kravetz@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=chenwandun@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox