[PATCH 1/1] arm64: To remove initrd reserved area entry from memblock
From: Chandan Vn <hidden>
Date: 2018-04-23 05:01:33
Also in:
lkml
Hi, May I know when this patch would be taken for merging? On Sat, Apr 7, 2018 at 9:58 AM, Chandan Vn [off-list ref] wrote:
On Fri, Apr 6, 2018 at 9:47 PM, Laura Abbott [off-list ref] wrote:quoted
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 [off-list ref] wrote:quoted
On 04/05/2018 09:53 PM, CHANDAN VN wrote:quoted
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?quoted
Signed-off-by: CHANDAN VN <redacted> --- 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)