Re: [RESEND PATCH v5 2/4] mm/vmalloc: revert "mm/vmalloc.c: emit the failure message before return"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi KOSAKI,
On Mon, Sep 16, 2013 at 04:15:29PM -0400, KOSAKI Motohiro wrote:
>On 9/14/2013 7:45 PM, Wanpeng Li wrote:
>> Changelog:
>>  *v2 -> v3: revert commit 46c001a2 directly
>> 
>> Don't warning twice in __vmalloc_area_node and __vmalloc_node_range if
>> __vmalloc_area_node allocation failure. This patch revert commit 46c001a2
>> (mm/vmalloc.c: emit the failure message before return).
>> 
>> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
>> Signed-off-by: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx>
>> ---
>>  mm/vmalloc.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>> index d78d117..e3ec8b4 100644
>> --- a/mm/vmalloc.c
>> +++ b/mm/vmalloc.c
>> @@ -1635,7 +1635,7 @@ void *__vmalloc_node_range(unsigned long size, unsigned long align,
>>  
>>  	addr = __vmalloc_area_node(area, gfp_mask, prot, node, caller);
>>  	if (!addr)
>> -		goto fail;
>> +		return NULL;

The goto fail is introduced by commit (mm/vmalloc.c: emit the failure message 
before return), and the commit author ignore there has already have warning in
__vmalloc_area_node. 

http://marc.info/?l=linux-mm&m=137818671125209&w=2

>
>This is not right fix. Now we have following call stack.
>
> __vmalloc_node
>	__vmalloc_node_range
>		__vmalloc_node
>
>Even if we remove a warning of __vmalloc_node_range, we still be able to see double warning
>because we call __vmalloc_node recursively.

Different size allocation failure in your example actually.

>
>I haven't catch your point why twice warning is unacceptable though.
>
>

I think I have already answer your question. 

Regards,
Wanpeng Li 

>
>
>
>
>
>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]