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?