Skip to content

Free list manager for i686 does not perform cache color detection #1388

Description

@georgeklees

The free list manager for the kernel is designed to implement cache coloring. Cache coloring is an optimization that intends to make each consecutive virtual page map to physical pages in different cache lines, making optimal usage of the CPU cache. It achieves this by calculating a number of cache colors (up to 256) and assigning them to physical pages. Physical pages are then organized into lists per-cache color. Virtual memory allocations will attempt to allocate pages with the best cache color for the corresponding virtual address. However, although cache coloring optimizations are implemented in the memory manager, actual detection of cache colors is not. This limits the number of cache colors to 1, meaning every page is allocated from the same list. While cache color detection is not incredibly urgent, as the system will work without it, it's an important optimization that will increase both memory access speed and page allocation scalability.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions