Hi Jan,
On 2/15/20 6:49 AM, Jan Kiszka wrote:
From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
No need to look further when that single region is found.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
=2D--
arch/riscv/mm/init.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index aec39a56d6cf..a774547e9021 100644
=2D-- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -160,6 +160,8 @@ void __init setup_bootmem(void)
if (reg->base + mem_size < end)
memblock_remove(reg->base + mem_size,
end - reg->base - mem_size);
+
+ break;
}
}
BUG_ON(mem_size =3D=3D 0);
=2D-
2.16.4
I was looking at the test above that determines if the current memblock
contains the kernel:
if (reg->base <= vmlinux_end && vmlinux_end <= end)
Shouldn't it be:
if (reg->base <= vmlinux_start && vmlinux_end <= end)
?
Otherwise, we can indeed stop as soon as we found the region containing
the kernel, so feel free to add:
Reviewed-by: Alexandre Ghiti <alex@xxxxxxxx>