2020-07-09 01:17:10

by Tian Tao

[permalink] [raw]
Subject: [PATCH v2] vmalloc: Removing incorrect logs when vmalloc failed

It is not possible to increase size with vmalloc=<size> in arm64
architecture and it will mislead.however vmalloc return failure
is a rare occurrence in 'many architectures including arm64'.

Signed-off-by: Tian Tao <[email protected]>

v2:
Add appropriate hints and let users decide if they can increase
the size of the vmalloc by vmalloc=<size> depending on their platform
---
mm/vmalloc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 89e83d3..c6ae7e6 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1238,8 +1238,8 @@ static struct vmap_area *alloc_vmap_area(unsigned long size,
}

if (!(gfp_mask & __GFP_NOWARN) && printk_ratelimit())
- pr_warn("vmap allocation for size %lu failed: use vmalloc=<size> to increase size\n",
- size);
+ pr_warn("vmap allocation for size %lu failed: use vmalloc=<size> to increase size,
+ if your ARCH supports it\n", size);

kmem_cache_free(vmap_area_cachep, va);
return ERR_PTR(-EBUSY);
--
2.7.4


2020-07-09 03:48:56

by Anshuman Khandual

[permalink] [raw]
Subject: Re: [PATCH v2] vmalloc: Removing incorrect logs when vmalloc failed



On 07/09/2020 06:44 AM, Tian Tao wrote:
> It is not possible to increase size with vmalloc=<size> in arm64

Small nit. s/in arm64/on arm64/

In fact "vmalloc=<size>" cmdline option is not available on many
platforms. Hence it is not something arm64 specific here, it is
a general problem.

> architecture and it will mislead.however vmalloc return failure

Small nit. s/.however/. However/

> is a rare occurrence in 'many architectures including arm64'.

Please reword the commit message here to describe the problem which
is a generic one, affecting multiple platforms that dont support
"vmalloc=<size>" cmdline option.

>
> Signed-off-by: Tian Tao <[email protected]>
>
> v2:
> Add appropriate hints and let users decide if they can increase
> the size of the vmalloc by vmalloc=<size> depending on their platform
> ---
> mm/vmalloc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index 89e83d3..c6ae7e6 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -1238,8 +1238,8 @@ static struct vmap_area *alloc_vmap_area(unsigned long size,
> }
>
> if (!(gfp_mask & __GFP_NOWARN) && printk_ratelimit())
> - pr_warn("vmap allocation for size %lu failed: use vmalloc=<size> to increase size\n",
> - size);
> + pr_warn("vmap allocation for size %lu failed: use vmalloc=<size> to increase size,
> + if your ARCH supports it\n", size);

This looks better.