Royce Mitchell III wrote:
hbirr@svn.reactos.com wrote:
- Removed the hole pool allocation, because it needs to much memory
and ros will not boot. - Allocate short blocks in one page. - Split the used and free header. It makes it easier to implement a red zone check.
Can we use rpoolmgr.h for npool? I wrote it to be useable by both.
The non paged pool uses an avl tree for free blocks. That is very fast. Currently, I'm thinking about the red zone check and about moving the block headers into separate blocks. Currently we need to access 20..50 free headers to find one block. A cpu has between 8 and 40 tlb entries for data. If we move the headers into some single pages (or one large page), we prevent from tlb thrashing. Currently, Rpoolmgr.h doesn't implement the allocation of short blocks in a single page. This will break the using of the queues.
- Hartmut