Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions include/linux/memblock.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,9 @@ extern unsigned long long max_possible_pfn;
* via a driver, and never indicated in the firmware-provided memory map as
* system RAM. This corresponds to IORESOURCE_SYSRAM_DRIVER_MANAGED in the
* kernel resource tree.
* @MEMBLOCK_RSRV_NOINIT: memory region for which struct pages are
* not initialized (only for reserved regions).
* @MEMBLOCK_RSRV_NOINIT: reserved memory region for which struct pages are not
* 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,
* either explictitly with memblock_reserve_kern() or via memblock
* allocation APIs. All memblock allocations set this flag.
Expand Down
15 changes: 11 additions & 4 deletions mm/memblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -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_RSRV_NOINIT which results in the struct pages not being initialized
* for this region.
* MEMBLOCK_RSRV_NOINIT
*
* @base: the base phys addr of the region
* @size: the size of the region
*
* struct pages will not be initialized for reserved memory regions marked with
* %MEMBLOCK_RSRV_NOINIT.
* The struct pages for the reserved regions marked %MEMBLOCK_RSRV_NOINIT will
* 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.
*/
Expand Down
Loading