Re: [PATCH v2 2/3] riscv: End kernel region search in setup_bootmem earlier

From: Alex Ghiti
Date: Sun Feb 16 2020 - 09:43:49 EST


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>

Thanks,

Alex