You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your enhancement proposal related to a problem? Please describe.
We have some use-cases for a page pool:
Pages to allocate MMU data structures
Pages for anonymous memory mappings
Pages to increase the size of the system heap arena with sbrk() which is really just a special case of This is a test commit #2
Right now on x86 we have:
a separate pool for MMU paging structure pages which has to be tuned in a cumbersome way; the number you need depends on how many active memory domains are required and how much memory has been mapped besides system RAM.
For the newlib libc, we do not memory map the heap. We have a fixed sized physical arena from the _end symbol to the bounds of RAM. sbrk() calls just increment a pointer within this area. No attempt is made not to crash into data structures populated by firmware and we are not using available memory in the first megabyte.
No support for anonymous memory mappings yet
Describe the solution you'd like
A page pool to draw page frames from for all the above use-cases.
All these pages are either getting memory mapped into the virtual address space, or are used for paging structures, there is no need for contiguous physical regions larger than a page.
Will need to play nice with demand paging, with ability to anonymously map more memory even when all RAM frames are in use.
The text was updated successfully, but these errors were encountered:
Is your enhancement proposal related to a problem? Please describe.
We have some use-cases for a page pool:
Right now on x86 we have:
_end
symbol to the bounds of RAM. sbrk() calls just increment a pointer within this area. No attempt is made not to crash into data structures populated by firmware and we are not using available memory in the first megabyte.Describe the solution you'd like
A page pool to draw page frames from for all the above use-cases.
All these pages are either getting memory mapped into the virtual address space, or are used for paging structures, there is no need for contiguous physical regions larger than a page.
Will need to play nice with demand paging, with ability to anonymously map more memory even when all RAM frames are in use.
The text was updated successfully, but these errors were encountered: