Re: + mm-vmalloc-be-more-explicit-about-supported-gfp-flags.patch added to -mm tree

From: Michal Hocko
Date: Thu Oct 21 2021 - 06:18:54 EST


On Wed 20-10-21 15:36:13, Andrew Morton wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
> Subject: mm/vmalloc: be more explicit about supported gfp flags
>
> The core of the vmalloc allocator __vmalloc_area_node doesn't say anything
> about gfp mask argument. Not all gfp flags are supported though. Be more
> explicit about constraints.
>
> Link: https://lkml.kernel.org/r/20211020082545.4830-1-mhocko@xxxxxxxxxx
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
> Cc: Dave Chinner <david@xxxxxxxxxxxxx>
> Cc: Neil Brown <neilb@xxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> Cc: Uladzislau Rezki <urezki@xxxxxxxxx>
> Cc: Ilya Dryomov <idryomov@xxxxxxxxx>
> Cc: Jeff Layton <jlayton@xxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

I haven't see other patches from the series to be applied to your tree
and without them this is not really correct.

> ---
>
> mm/vmalloc.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> --- a/mm/vmalloc.c~mm-vmalloc-be-more-explicit-about-supported-gfp-flags
> +++ a/mm/vmalloc.c
> @@ -2990,8 +2990,16 @@ fail:
> * @caller: caller's return address
> *
> * Allocate enough pages to cover @size from the page level
> - * allocator with @gfp_mask flags. Map them into contiguous
> - * kernel virtual space, using a pagetable protection of @prot.
> + * allocator with @gfp_mask flags. Please note that the full set of gfp
> + * flags are not supported. GFP_KERNEL would be a preferred allocation mode
> + * but GFP_NOFS and GFP_NOIO are supported as well. Zone modifiers are not
> + * supported. From the reclaim modifiers__GFP_DIRECT_RECLAIM is required (aka
> + * GFP_NOWAIT is not supported) and only __GFP_NOFAIL is supported (aka
> + * __GFP_NORETRY and __GFP_RETRY_MAYFAIL are not supported).
> + * __GFP_NOWARN can be used to suppress error messages about failures.
> + *
> + * Map them into contiguous kernel virtual space, using a pagetable
> + * protection of @prot.
> *
> * Return: the address of the area or %NULL on failure
> */
> _
>
> Patches currently in -mm which might be from mhocko@xxxxxxxx are
>
> mm-vmalloc-be-more-explicit-about-supported-gfp-flags.patch

--
Michal Hocko
SUSE Labs