Royce Mitchell III wrote:
hbirr(a)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