Re: [PATCH] mm: remove out-dated document of __GFP_NOFAIL
From: Vlastimil Babka (SUSE)
Date: Thu Aug 27 2026 - 03:36:06 EST
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"?
> 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@xxxxxxxxx>
> Cc: Baokun Li <libaokun1@xxxxxxxxxx>
> ---
> 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.
> */
> #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);