* [PATCH] Revert "mips: Manually call fdt_init_reserved_mem() method"
@ 2021-02-08 13:46 Serge Semin
2021-02-09 12:38 ` Thomas Bogendoerfer
0 siblings, 1 reply; 2+ messages in thread
From: Serge Semin @ 2021-02-08 13:46 UTC (permalink / raw)
To: Thomas Bogendoerfer, Paul Burton, Jiaxun Yang
Cc: Serge Semin, Serge Semin, Paul Cercueil, linux-mips, linux-kernel
This reverts commit 3751cbda8f223549d7ea28803cbec8ac87e43ed2.
Originally the patch was created to fix the reserved-memory DT-node
parsing failure on the early stages of the platform memory initialization.
That happened due to the two early memory allocators utilization that
time: bootmem and memblock. At first the platform-specific memory mapping
array was initialized. Then the early_init_fdt_scan_reserved_mem() was
called, which couldn't fully parse the "reserved-memory" DT-node since
neither memblock nor bootmem allocators hadn't been initialized at that
stage, so the fdt_init_reserved_mem() method failed on the memory
allocation calls. Only after that the platform-specific memory mapping
were used to create proper bootmem and memblock structures and let the
early memory allocations work. That's why we had to call the
fdt_init_reserved_mem() method one more time to retry the initialization
of the features like CMA.
The necessity to have that fix was disappeared after the full memblock
support had been added to the MIPS kernel and all plat_mem_setup() had
been fixed to add the memory regions right into the memblock memory pool.
Let's revert that patch then especially after having Paul reported that
the second fdt_init_reserved_mem() call causes the reserved memory pool
being created twice bigger than implied.
Fixes: a94e4f24ec83 ("MIPS: init: Drop boot_mem_map")
Reported-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
---
arch/mips/kernel/setup.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 101812960ca0..a60ecd6db0c3 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -27,7 +27,6 @@
#include <linux/dma-map-ops.h>
#include <linux/decompress/generic.h>
#include <linux/of_fdt.h>
-#include <linux/of_reserved_mem.h>
#include <linux/dmi.h>
#include <asm/addrspace.h>
@@ -686,8 +685,6 @@ static void __init arch_mem_init(char **cmdline_p)
memblock_reserve(__pa_symbol(&__nosave_begin),
__pa_symbol(&__nosave_end) - __pa_symbol(&__nosave_begin));
- fdt_init_reserved_mem();
-
early_memtest(PFN_PHYS(ARCH_PFN_OFFSET), PFN_PHYS(max_low_pfn));
}
--
2.29.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Revert "mips: Manually call fdt_init_reserved_mem() method"
2021-02-08 13:46 [PATCH] Revert "mips: Manually call fdt_init_reserved_mem() method" Serge Semin
@ 2021-02-09 12:38 ` Thomas Bogendoerfer
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Bogendoerfer @ 2021-02-09 12:38 UTC (permalink / raw)
To: Serge Semin
Cc: Paul Burton, Jiaxun Yang, Serge Semin, Paul Cercueil, linux-mips,
linux-kernel
On Mon, Feb 08, 2021 at 04:46:14PM +0300, Serge Semin wrote:
> This reverts commit 3751cbda8f223549d7ea28803cbec8ac87e43ed2.
>
> Originally the patch was created to fix the reserved-memory DT-node
> parsing failure on the early stages of the platform memory initialization.
> That happened due to the two early memory allocators utilization that
> time: bootmem and memblock. At first the platform-specific memory mapping
> array was initialized. Then the early_init_fdt_scan_reserved_mem() was
> called, which couldn't fully parse the "reserved-memory" DT-node since
> neither memblock nor bootmem allocators hadn't been initialized at that
> stage, so the fdt_init_reserved_mem() method failed on the memory
> allocation calls. Only after that the platform-specific memory mapping
> were used to create proper bootmem and memblock structures and let the
> early memory allocations work. That's why we had to call the
> fdt_init_reserved_mem() method one more time to retry the initialization
> of the features like CMA.
>
> The necessity to have that fix was disappeared after the full memblock
> support had been added to the MIPS kernel and all plat_mem_setup() had
> been fixed to add the memory regions right into the memblock memory pool.
> Let's revert that patch then especially after having Paul reported that
> the second fdt_init_reserved_mem() call causes the reserved memory pool
> being created twice bigger than implied.
>
> Fixes: a94e4f24ec83 ("MIPS: init: Drop boot_mem_map")
> Reported-by: Paul Cercueil <paul@crapouillou.net>
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
> arch/mips/kernel/setup.c | 3 ---
> 1 file changed, 3 deletions(-)
applied to mips-next.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-09 12:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-08 13:46 [PATCH] Revert "mips: Manually call fdt_init_reserved_mem() method" Serge Semin
2021-02-09 12:38 ` Thomas Bogendoerfer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox