[ros-kernel] RE: I can boot ReactOS with 8 Mb!!

Robert K. rob at koepferl.de
Fri Jan 30 19:11:00 CET 2004


Is there still a heap missing?
I thought there's one around gnu (c-)libs

KJK::Hyperion schrieb:

> At 20.46 29/01/2004, you wrote:
> 
>> I wonder if anyone has thought of a 'small object' bitmap based 
>> allocator for these small things.  It would probably save hordes of 
>> memory.
> 
> 
> FYI, I stumbled upon an interesting allocator:
> 
> <http://www.leapheap.com/>
> 
> The implementation is proprietary, not sure about the algorithms. It's 
> entirely lock-free and, according to them, handles small-block 
> allocation even better than the small-block algorithm by Microsoft 
> (Microsoft's big block allocation synchronizes on a single mutex, so 
> comparisons don't even make sense). Even if we won't be able to use the 
> algorithm, this is the competition to beat
> 
>> Some things in the reactos kernel even allocate chains of 16 byte or 
>> less chunks. my idea would be keep a list of pages, each of which 
>> would have a bitmap of 8-byte cells, and the cell data afterward.  
>> That way, a low-overhead allocator could be embedded in the current 
>> pool allocator.
> 
> 
> My bread-and-butter idea, for what it's worth, was to keep a pool of 
> lookaside lists for small (small enough for the padding overhead to be 
> neglectable), 2^n block sizes - 1, 2, 4, 8, 16, 32, etc. bytes - to 
> force ill-behaving drivers into using lookaside lists when appropriate. 
> You calculate ceil(log2(allocation size)) and use it as an index in the 
> array of preallocated lookaside lists. If the size exceeds the maximum 
> available to this allocator, the normal pool allocator is used
> _______________________________________________
> Ros-kernel mailing list
> Ros-kernel at reactos.com
> http://reactos.com/mailman/listinfo/ros-kernel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3175 bytes
Desc: S/MIME Cryptographic Signature
Url : http://reactos.com:8080/pipermail/ros-kernel/attachments/20040130/9ca79ab6/smime.bin


More information about the Ros-kernel mailing list