[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