From: Jan Kiszka <[email protected]>
No need to look further when that single region is found.
Signed-off-by: Jan Kiszka <[email protected]>
---
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
--- 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 == 0);
--
2.16.4
Hi Jan,
On 2/15/20 6:49 AM, Jan Kiszka wrote:
> From: Jan Kiszka <[email protected]>
>
> No need to look further when that single region is found.
>
> Signed-off-by: Jan Kiszka <[email protected]>
> =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 <[email protected]>
Thanks,
Alex
On 16.02.20 15:42, Alex Ghiti wrote:
> Hi Jan,
>
> On 2/15/20 6:49 AM, Jan Kiszka wrote:
>> From: Jan Kiszka <[email protected]>
>>
>> No need to look further when that single region is found.
>>
>> Signed-off-by: Jan Kiszka <[email protected]>
>> =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)
>
> ?
Yes, I think you are right. Would you like to send a patch that fixes this?
>
> Otherwise, we can indeed stop as soon as we found the region containing
> the kernel, so feel free to add:
>
> Reviewed-by: Alexandre Ghiti <[email protected]>
>
Thanks,
Jan
On 2/16/20 11:06 AM, Jan Kiszka wrote:
> On 16.02.20 15:42, Alex Ghiti wrote:
>> Hi Jan,
>>
>> On 2/15/20 6:49 AM, Jan Kiszka wrote:
>>> From: Jan Kiszka <[email protected]>
>>>
>>> No need to look further when that single region is found.
>>>
>>> Signed-off-by: Jan Kiszka <[email protected]>
>>> =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)
>>
>> ?
>
> Yes, I think you are right. Would you like to send a patch that fixes this?
Thanks for confirming, I'll send a patch tomorrow and cc stable too.
Alex
>
>>
>> Otherwise, we can indeed stop as soon as we found the region containing
>> the kernel, so feel free to add:
>>
>> Reviewed-by: Alexandre Ghiti <[email protected]>
>>
>
> Thanks,
> Jan
>