mirror of
https://github.com/genodelabs/genode.git
synced 2025-03-25 13:28:28 +00:00
This patch changes the organization of the slab blocks within the slab allocator. Originally, blocks were kept in a list sorted by the number of free entries. However, it turned out that the maintenance of this invariant involves a lot of overhead in the presence of a large number of blocks. The new implementation manages blocks within a ring in no particular order and maintains a pointer to the block where the next allocation is attempted. This alleviates the need for sorting blocks when allocating and deallocating. Fixes #1908
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.