On 15/04/2020 02:02, Stefano Stabellini wrote:
Introduce a function named reserve_heap_pages (similar to
alloc_heap_pages) that allocates a requested memory range. Call
__alloc_heap_pages for the implementation.
Change __alloc_heap_pages so that the original page doesn't get
modified, giving back unneeded memory top to bottom rather than bottom
to top.
Also introduce a function named reserve_domheap_pages, similar to
alloc_domheap_pages, that checks memflags before calling
reserve_heap_pages. It also assign_pages to the domain on success.
Xen may have already allocated the part of region for its own purpose or
for another domain. So this will not work reliably.
We have the same issues with LiveUpdate as memory have to be preserved.
We need to mark the page reserved before any allocation (including early
boot allocation) so nobody can use them. See [1].
Cheers,
[1] Live update: boot memory management, data stream handling, record
format <a92287c03fed310e08ba40063e370038569b94ac.ca...@infradead.org>
--
Julien Grall