Re: [PATCH] vmalloc: Removing incorrect logs when vmalloc failed

From: tiantao (H)
Date: Tue Jul 07 2020 - 20:51:48 EST




在 2020/7/7 21:24, Uladzislau Rezki 写道:
On Tue, Jul 07, 2020 at 03:18:54PM +0530, Anshuman Khandual wrote:


On 07/07/2020 02:43 PM, Tian Tao wrote:
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'.

But there is a chance that vmalloc() might work on architectures
that support 'vmalloc=' command line i.e after a change and this
information here might be helpful in those cases.

Agree. At least i see a few users of it:

<snip>
urezki@pc638:~/data/coding/linux-next.git$ grep -rn early_param ./arch/ | grep vmalloc
./arch/arm/mm/mmu.c:1152:early_param("vmalloc", early_vmalloc);
./arch/unicore32/mm/mmu.c:276:early_param("vmalloc", early_vmalloc);
./arch/x86/mm/pgtable_32.c:86:early_param("vmalloc", parse_vmalloc);
urezki@pc638:~/data/coding/linux-next.git$
<snip>

I'm actually having this problem with the arm64 architecture at centos 7.6 and pagesize is 64K.
I followed the prompts and added vmalloc=<size> to the command to increase the size of the vmalloc.and found out it's not worked.
It took me some time to find out that this doesn't work for the arm64 architecture, so this log is misleading on arm64.
I think it's better not to be prompted than to be prompted incorrectly.
I'm sure there will be others with similar problems.
So I'd like to solve this problem this time, Please help me with your suggestions.
If I change the PATCH to the following, will you accept it?

if (!(gfp_mask & __GFP_NOWARN) && printk_ratelimit())
+#ifdef CONFIG_ARM64 && CONFIG_XXX
+ pr_warn("vmap allocation for size %lu failed\n", size);
+#else
pr_warn("vmap allocation for size %lu failed: use vmalloc=<size> to increase size\n",
size);
+#endif

Thanks!

--
Vlad Rezki

.