Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Vlastimil Babka (SUSE)" <vbabka@kernel.org>
To: Wei Yang <richard.weiyang@gmail.com>
Cc: akpm@linux-foundation.org, david@kernel.org, ljs@kernel.org,
	liam@infradead.org, rppt@kernel.org, surenb@google.com,
	mhocko@suse.com, brendan.jackman@linux.dev, hannes@cmpxchg.org,
	ziy@nvidia.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Baokun Li <libaokun1@huawei.com>
Subject: Re: [PATCH] mm: remove out-dated document of __GFP_NOFAIL
Date: Thu, 27 Aug 2026 10:03:41 +0200	[thread overview]
Message-ID: <78561ffa-d075-4570-aaed-60744f11160f@kernel.org> (raw)
In-Reply-To: <20260827074921.mracnqv2m2cugasb@master>

On 8/27/26 9:49 AM, Wei Yang wrote:
> On Thu, Aug 27, 2026 at 09:35:26AM +0200, Vlastimil Babka (SUSE) wrote:
>> On 8/27/26 5:05 AM, Wei Yang wrote:
>>> Commit ee040cbd6e48 ("mm/page_alloc: don't warn about large allocations
>>> with __GFP_NOFAIL") remove a warning on allocating large folio with
>>> __GFP_NOFAIL, which is adjusted by commit 903edea6c53f ("mm: warn about
>>> illegal __GFP_NOFAIL usage in a more appropriate location and manner").
>>
>> "which is adjusted by commit" sounds as 903edea6c53f came later than
>> ee040cbd6e48, but it's the opposite. Maybe say "which was placed there"?
>>
> 
> Got it.
> 
>>> While in that commit, it also documented this behavior which is
>>> out-dated now.
>>>
>>> Adjust the document to align to current code, and adjust the comment
>>> while at it.
>>>
>>> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
>>> Cc: Baokun Li <libaokun1@huawei.com>
>>> ---
>>>  include/linux/gfp_types.h | 2 --
>>>  mm/page_alloc.c           | 2 +-
>>>  2 files changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/include/linux/gfp_types.h b/include/linux/gfp_types.h
>>> index 190191411009..24fde8eb73df 100644
>>> --- a/include/linux/gfp_types.h
>>> +++ b/include/linux/gfp_types.h
>>> @@ -243,8 +243,6 @@ enum {
>>>   * used only when there is no reasonable failure policy) but it is
>>>   * definitely preferable to use the flag rather than opencode endless
>>>   * loop around allocator.
>>> - * Allocating pages from the buddy with __GFP_NOFAIL and order > 1 is
>>> - * not supported. Please consider using kvmalloc() instead.
>>
>> I'm not sure if we want to simply remove the lines, or rather say it's
>> discouraged (instead of not supported) and still suggest kvmalloc() if
>> possible.
>>
> 
> Reasonable.
> 
> As mentioned in [1], kvmalloc() maybe not suitable for some cases, I would
> suggest below change.
> 
>  * Allocating pages from the buddy with __GFP_NOFAIL and order > 1 is
>  * discouraged. Please consider using kvmalloc() instead if possible.

Yeah that's great! Thanks.

> Or, you prefer only s/supported/discouraged/ ?
> 
> [1]: https://lore.kernel.org/all/aQTHMI3t5mNXp0M1@casper.infradead.org
> 
>>>   */
>>>  #define __GFP_IO	((__force gfp_t)___GFP_IO)
>>>  #define __GFP_FS	((__force gfp_t)___GFP_FS)
>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>>> index ab385bc252cc..146f7e0a9462 100644
>>> --- a/mm/page_alloc.c
>>> +++ b/mm/page_alloc.c
>>> @@ -4804,7 +4804,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
>>>  
>>>  	if (unlikely(nofail)) {
>>>  		/*
>>> -		 * Also we don't support __GFP_NOFAIL without __GFP_DIRECT_RECLAIM,
>>> +		 * We don't support __GFP_NOFAIL without __GFP_DIRECT_RECLAIM,
>>>  		 * otherwise, we may result in lockup.
>>>  		 */
>>>  		WARN_ON_ONCE(!can_direct_reclaim);
> 



  reply	other threads:[~2026-08-27  8:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-27  3:05 [PATCH] mm: remove out-dated document of __GFP_NOFAIL Wei Yang
2026-08-27  7:35 ` Vlastimil Babka (SUSE)
2026-08-27  7:49   ` Wei Yang
2026-08-27  8:03     ` Vlastimil Babka (SUSE) [this message]
2026-08-27  8:09       ` Wei Yang

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=78561ffa-d075-4570-aaed-60744f11160f@kernel.org \
    --to=vbabka@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=brendan.jackman@linux.dev \
    --cc=david@kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=liam@infradead.org \
    --cc=libaokun1@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=mhocko@suse.com \
    --cc=richard.weiyang@gmail.com \
    --cc=rppt@kernel.org \
    --cc=surenb@google.com \
    --cc=ziy@nvidia.com \
    /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