[PATCH 1/1] arm64: To remove initrd reserved area entry from memblock

Chandan Vn vn.chandan at gmail.com
Sun Apr 22 22:00:49 PDT 2018


Hi,

May I know when this patch would be taken for merging?


On Sat, Apr 7, 2018 at 9:58 AM, Chandan Vn <vn.chandan at gmail.com> wrote:
> On Fri, Apr 6, 2018 at 9:47 PM, Laura Abbott <labbott at redhat.com> wrote:
>> Does this have an impact on anything besides accounting
>> in memblock?
>
> Yes, the impact is only on accounting or debugging.
>
> We were trying to reduce the reserved memory by removing initrd reserved area.
> After disabling "keepinitrd", only way to check if it was removed or
> not was to check
> /sys/kernel/debug/memblock/reserved. We found the entry to be present
> irrespective of
> "keepinitrd" being enabled/disabled.
> I hope that with the fix others wont face similar issue. Also we did
> not find any such problem
> with ARM32 ARCHITECTURE.
>
> On Fri, Apr 6, 2018 at 9:47 PM, Laura Abbott <labbott at redhat.com> wrote:
>> On 04/05/2018 09:53 PM, CHANDAN VN wrote:
>>>
>>> INITRD reserved area entry is not removed from memblock
>>> even though initrd reserved area is freed. After freeing
>>> the memory it is released from memblock. The same can be
>>> checked from /sys/kernel/debug/memblock/reserved.
>>>
>>> The patch makes sure that the initrd entry is removed from
>>> memblock when keepinitrd is not enabled.
>>>
>>
>> Does this have an impact on anything besides accounting
>> in memblock?
>>
>>
>>> Signed-off-by: CHANDAN VN <chandan.vn at samsung.com>
>>> ---
>>>   arch/arm64/mm/init.c | 4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
>>> index 9f3c47a..1b18b47 100644
>>> --- a/arch/arm64/mm/init.c
>>> +++ b/arch/arm64/mm/init.c
>>> @@ -646,8 +646,10 @@ void free_initmem(void)
>>>     void __init free_initrd_mem(unsigned long start, unsigned long end)
>>>   {
>>> -       if (!keep_initrd)
>>> +       if (!keep_initrd) {
>>>                 free_reserved_area((void *)start, (void *)end, 0,
>>> "initrd");
>>> +               memblock_free(__virt_to_phys(start), end - start);
>>> +       }
>>>   }
>>>     static int __init keepinitrd_setup(char *__unused)
>>>
>>



More information about the linux-arm-kernel mailing list