2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

memblock: fix kernel-doc for MEMBLOCK_RSRV_NOINIT

The kernel-doc description of MEMBLOCK_RSRV_NOINIT and
memblock_reserved_mark_noinit() do not accurately describe their
functionality.

Expand their kernel doc to make it clear that the user of
MEMBLOCK_RSRV_NOINIT is responsible to properly initialize the struct pages
for such regions and add more details about effects of using this flag.

Reviewed-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/f8140a17-c4ec-489b-b314-d45abe48bf36@redhat.com
Link: https://lore.kernel.org/r/20250826071947.1949725-1-rppt@kernel.org
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
This commit is contained in:
Mike Rapoport (Microsoft) 2025-08-26 10:19:46 +03:00
parent 4647c4dead
commit b3dcc9d1d8
2 changed files with 14 additions and 6 deletions

View File

@ -40,8 +40,9 @@ extern unsigned long long max_possible_pfn;
* via a driver, and never indicated in the firmware-provided memory map as * via a driver, and never indicated in the firmware-provided memory map as
* system RAM. This corresponds to IORESOURCE_SYSRAM_DRIVER_MANAGED in the * system RAM. This corresponds to IORESOURCE_SYSRAM_DRIVER_MANAGED in the
* kernel resource tree. * kernel resource tree.
* @MEMBLOCK_RSRV_NOINIT: memory region for which struct pages are * @MEMBLOCK_RSRV_NOINIT: reserved memory region for which struct pages are not
* not initialized (only for reserved regions). * fully initialized. Users of this flag are responsible to properly initialize
* struct pages of this region
* @MEMBLOCK_RSRV_KERN: memory region that is reserved for kernel use, * @MEMBLOCK_RSRV_KERN: memory region that is reserved for kernel use,
* either explictitly with memblock_reserve_kern() or via memblock * either explictitly with memblock_reserve_kern() or via memblock
* allocation APIs. All memblock allocations set this flag. * allocation APIs. All memblock allocations set this flag.

View File

@ -1091,13 +1091,20 @@ int __init_memblock memblock_clear_nomap(phys_addr_t base, phys_addr_t size)
/** /**
* memblock_reserved_mark_noinit - Mark a reserved memory region with flag * memblock_reserved_mark_noinit - Mark a reserved memory region with flag
* MEMBLOCK_RSRV_NOINIT which results in the struct pages not being initialized * MEMBLOCK_RSRV_NOINIT
* for this region. *
* @base: the base phys addr of the region * @base: the base phys addr of the region
* @size: the size of the region * @size: the size of the region
* *
* struct pages will not be initialized for reserved memory regions marked with * The struct pages for the reserved regions marked %MEMBLOCK_RSRV_NOINIT will
* %MEMBLOCK_RSRV_NOINIT. * not be fully initialized to allow the caller optimize their initialization.
*
* When %CONFIG_DEFERRED_STRUCT_PAGE_INIT is enabled, setting this flag
* completely bypasses the initialization of struct pages for such region.
*
* When %CONFIG_DEFERRED_STRUCT_PAGE_INIT is disabled, struct pages in this
* region will be initialized with default values but won't be marked as
* reserved.
* *
* Return: 0 on success, -errno on failure. * Return: 0 on success, -errno on failure.
*/ */