Messages in this thread Patch in this message | | | From | Wei Yang <> | Subject | [PATCH] x86/mm: trivial code cleanup for memory_map_top_doown() | Date | Fri, 17 Feb 2017 22:30:33 +0800 |
| |
In case (last_start <= step_size), start is for sure to be 0. So, it is save to do the round_down for all cases and set start to map_start when start is smaller than map_start.
From the performance point of view, this also reduces the check on each iteration.
This patch unifies the code on round_down memory range in memory_map_top_doown() and also removes a redundant assignment of start which will be assigned the correct value in each iteration.
Signed-off-by: Wei Yang <richard.weiyang@gmail.com> --- arch/x86/mm/init.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index 22af912d66d2..d8ad5e825b10 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -514,7 +514,7 @@ static void __init memory_map_top_down(unsigned long map_start, step_size = PMD_SIZE; max_pfn_mapped = 0; /* will get exact value next */ min_pfn_mapped = real_end >> PAGE_SHIFT; - last_start = start = real_end; + last_start = real_end; /* * We start from the top (end of memory) and go to the bottom. @@ -523,12 +523,10 @@ static void __init memory_map_top_down(unsigned long map_start, * for page table. */ while (last_start > map_start) { - if (last_start > step_size) { - start = round_down(last_start - 1, step_size); - if (start < map_start) - start = map_start; - } else + start = round_down(last_start - 1, step_size); + if (start < map_start) start = map_start; + mapped_ram_size += init_range_memory_mapping(start, last_start); last_start = start; -- 2.11.0
| |