Re: [PATCH 05/11] of: reserved_mem: add linux,no-dump property support for reserved memory regions

From: Wandun

Date: Thu May 07 2026 - 05:42:17 EST




On 5/6/26 22:45, Rob Herring wrote:
On Wed, Apr 29, 2026 at 02:58:25PM +0800, Chen Wandun wrote:
Add a 'no_dump' field to struct reserved_mem and parse the
'linux,no-dump' device tree property during reserved memory node
initialization. This property allows device tree authors to mark
specific reserved memory regions that should be excluded from kdump
vmcore dumps.

Reserved memory regions used by device firmware (e.g., GPU, DSP, modem)
typically contain data that is not useful for kernel crash analysis and
can significantly increase vmcore size. The 'linux,no-dump' property
provides a declarative way to indicate these regions should be filtered
out when constructing the elfcorehdr for kdump.

The property is named with a 'linux,' prefix because kdump/vmcore is
Linux-specific and the property is an OS hint rather than a hardware
description, matching existing properties such as 'linux,cma-default'
and 'linux,usable-memory-range'.

The 'linux,no-dump' property is only effective when the region:
- Does not have 'no-map': these regions are already excluded from
vmcore since they are removed from the linear mapping (MEMBLOCK_NOMAP).
- Does not have 'reusable': CMA reusable regions are actively used by
the kernel for movable page allocations, and their contents are
valuable for crash analysis.

The no-dump status is also printed in the boot log alongside the
existing nomap and reusable flags for diagnostic purposes.
I think this property is the wrong way around and probably not needed.
The default should be exclude the regions, but if Linux is using the
regions (like CMA) then it can decide on its own to include them.

With the restructuring that went into 7.1, it should be possible for the
CMA code (and code for any other regions) to set some flag for the
region.
Agree that the property direction is wrong. Rework in v2:
  - Default: exclude reserved regions from vmcore
  - CMA (reusable) setup path marks regions as kernel-managed general memory → include
  - No DT binding needed; linux,no-dump proposal withdrawn

Thanks.

Rob