Re: [PATCH v7 0/9] kdump: reduce vmcore size and capture time

From: Rob Herring

Date: Fri Oct 09 2026 - 13:10:57 EST


On Fri, Oct 09, 2026 at 06:26:36PM +0200, Mike Rapoport wrote:
> On Fri, Oct 09, 2026 at 11:04:47AM +0800, Wandun wrote:
> > On 10/2/26 16:17, Mike Rapoport wrote:
> > > Hi Wandun,
> > >
> > > On Tue, Sep 22, 2026 at 04:42:47PM +0800, Wandun Chen wrote:
> > >> From: Wandun Chen <chenwandun@xxxxxxxxxxx>
> > >>
> > >> On SoCs that carve out large firmware-owned reserved memory (GPU,
> > >> camera ISP, ...), kdump currently dumps those carveouts as part of
> > >> system RAM even though their contents are firmware state that is not
> > >> useful for kernel crash analysis.
> > >>
> > >> This series introduces a MEMBLOCK_NODUMP flag in memblock to filter
> > >> reserved memory on DT-based architectures (arm64, riscv, loongarch).
> > >> Reserved regions are marked MEMBLOCK_NODUMP by default so kdump omits
> > >> them; reusable CMA regions are different because their pages are handed
> > >> back to the buddy allocator and may carry crash-relevant data.
> > >>
> > >> ACPI systems already filter reserved memory out of the vmcore through
> > >> their existing path; only DT-based systems currently fail to filter these
> > >> regions, which is what this series addresses. The flag lives in memblock
> > >> itself rather than in a DT-only structure, so both ACPI and DT systems
> > >> can benefit from it (suggested by Rob, thanks).
> > >
> > Hi Mike,
> >
> > Thanks for the review.
> >
> > > Can you elaborate how ACPI systems filter their reserved memory?
> >
> > In the EFI memory map, firmware carveouts are reported with the type
> > EFI_RESERVED_TYPE. This type of memory gets the nomap flag set in
> > memblock.memory (is_usable_memory() returns false in reserve_regions()
> > and mark these regions with nomap flag), during prepare_elf_headers(),
> > for_each_mem_range() filters out these nomap regions. Therefore, the
> > memory reserved on ACPI based systems will not be dumped into the vmcore.
> >
> > I will add these description in next version.
> >
> > > With your patches, the memblock flag becomes a part of DT-only
> > > infrastructure, so that claim that both ACPI and DT benefit from it does
> > > not hold, doesn't it?
> >
> > You are right, the wording was misleading. Let me clarify what I meant.
> >
> > In this series only DT marks regions as MEMBLOCK_NODUMP:
> > /reserved-memory and /memreserve/ entries are tagged in the OF
> > paths (of_reserved_mem.c, fdt.c). ACPI does not set the flag and
> > keeps filtering its reserved memory through the existing path, as
> > described above.
> >
> >
> > What I intended to convey is that the flag itself lives in memblock
> > rather than on the DT-only struct reserved_mem, so it is available
> > for reuse. If an ACPI system ever needed to exclude a firmware-owned
> > region from the vmcore, it could mark that region with MEMBLOCK_NODUMP
> > the same way DT does, instead of having to invent a parallel mechanism.
> > That is a future option, not something this series enables for ACPI
> > today.
>
> So, EFI uses NOMAP for the same purpose, right?
> Why when we need a new memblock flag then?

IIUC, NOMAP implies NODUMP (for EFI and DT), but NODUMP is needed for
some mapped (!NOMAP) regions.

Rob