From: Mike Rapoport <rppt@xxxxxxxxxxxxx> Hi, David noticed that we do some of memblock_reserve() calls after allocations are possible: https://lore.kernel.org/lkml/6ba6bde3-1520-5cd0-f987-32d543f0b79f@xxxxxxxxxx The below patches consolidate early memory reservations done during setup_arch() so that memory used by firmware, bootloader, kernel text/data and the memory that should be excluded from the available memory for whatever other reason is reserved before memblock allocations are possible. The patches are rebased on v5.12-rc1 and I think x86 tree is the best way to merge them. v3: * rebase on v5.12-rc1 v2: https://lore.kernel.org/lkml/20210128105711.10428-1-rppt@xxxxxxxxxx * get rid of trim_platform_memory_ranges() and call trim_snb_memory() directly, per Boris comments * massage changelog and comments to use passive voice, per Boris * add Acked-by and Reviewed-by, thanks Boris and David v1: https://lore.kernel.org/lkml/20210115083255.12744-1-rppt@xxxxxxxxxx Mike Rapoport (2): x86/setup: consolidate early memory reservations x86/setup: merge several reservations of start of the memory arch/x86/kernel/setup.c | 95 ++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 49 deletions(-) -- 2.28.0