Re: [PATCHv2 5/7] x86/mm: Reserve unaccepted memory bitmap

From: Dave Hansen
Date: Tue Jan 11 2022 - 14:10:48 EST


On 1/11/22 03:33, Kirill A. Shutemov wrote:
Unaccepted memory bitmap is allocated during decompression stage and
handed over to main kernel image via boot_params. The bitmap is used to
track if memory has been accepted.

Reserve unaccepted memory bitmap has to prevent reallocating memory for
other means.

I'm having a hard time parsing that changelog, especially the second paragraph. Could you give it another shot?

+ /* Mark unaccepted memory bitmap reserved */
+ if (boot_params.unaccepted_memory) {
+ unsigned long size;
+
+ /* One bit per 2MB */
+ size = DIV_ROUND_UP(e820__end_of_ram_pfn() * PAGE_SIZE,
+ PMD_SIZE * BITS_PER_BYTE);
+ memblock_reserve(boot_params.unaccepted_memory, size);
+ }

Is it OK that the size of the bitmap is inferred from e820__end_of_ram_pfn()? Is this OK in the presence of mem= and other things that muck with the e820?