Re: [PATCH] x86/mm: trivial code cleanup for memory_map_top_doown()

From: Wei Yang
Date: Tue May 02 2017 - 09:26:39 EST


Hi, Borislav and all

Do you agree with my analysis or you have other comments?

On Tue, Mar 14, 2017 at 11:56:39AM +0800, Wei Yang wrote:
>On Mon, Mar 13, 2017 at 07:50:21PM +0100, Borislav Petkov wrote:
>>On Fri, Feb 17, 2017 at 10:30:33PM +0800, Wei Yang wrote:
>>> In case (last_start <= step_size), start is for sure to be 0. So, it is
>>
>
>Hmm, I may write it more specific:
>
>"start" is for sure to be set to 0 with round_down(last_start - 1, step_size).
>
>>Well, lemme see:
>>
>>[ 0.000000] memory_map_top_down: entry, [0x100000:0x7ffdf000)
>>[ 0.000000] memory_map_top_down: addr: 0x7fc00000, real_end: 0x7fe00000
>>[ 0.000000] memory_map_top_down: last_start: 0x40000000 <= step_size: 0x2000000000, start: 0x40000000
>> ^^^^^^^^^^
>>It doesn't look like 0 to me.
>>
>>---
>>diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
>>index 2193799ca800..d3b02a416df3 100644
>>--- a/arch/x86/mm/init.c
>>+++ b/arch/x86/mm/init.c
>>@@ -527,8 +531,13 @@ static void __init memory_map_top_down(unsigned long map_start,
>> start = round_down(last_start - 1, step_size);
>> if (start < map_start)
>> start = map_start;
>>- } else
>>+ } else {
>>+ pr_info("%s: last_start: 0x%lx <= step_size: 0x%lx, start: 0x%lx\n",
>>+ __func__, last_start, step_size, start);
>>+
>
>If you change this log with the following
>
> pr_err("%s: last_start: 0x%lx <= step_size: 0x%lx, start: 0x%lx\n",
> __func__, last_start, step_size,
> round_down(last_start - 1, step_size));
>
>You could see after calculation, start is 0 when (last_start <= step_size).
>
>--
>Wei Yang
>Help you, Help me



--
Wei Yang
Help you, Help me

Attachment: signature.asc
Description: PGP signature