Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to slab allocator #21

Open
Andy-Python-Programmer opened this issue Jan 4, 2022 · 1 comment
Open

Switch to slab allocator #21

Andy-Python-Programmer opened this issue Jan 4, 2022 · 1 comment
Labels
C-kernel Category: kernel enhancement New feature or request

Comments

@Andy-Python-Programmer
Copy link
Owner

Currently the aero_kernel uses the linked_list_allocator crate for the kernel allocator. We might want to switch the allocator from a linked list allocator to an object-caching slab allocator which is more efficient.

The basic idea behind the slab allocator is to have caches of commonly used objects kept in an initialised state available for use by the kernel. Without an object based allocator, the kernel will spend much of its time allocating, initialising and freeing the same object. The slab allocator aims to to cache the freed object so that the basic structure is preserved between uses.

cc https://www.kernel.org/doc/gorman/html/understand/understand011.html
cc https://people.eecs.berkeley.edu/~kubitron/courses/cs194-24-S13/hand-outs/bonwick_slab.pdf

@Zildj1an
Copy link

A look at this may help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-kernel Category: kernel enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants