vercas / Beelzebub

The Lord of Files - A hobby operating system
Other
33 stars 6 forks source link

Physical memory allocator improvement #26

Open vercas opened 8 years ago

vercas commented 8 years ago

It is vital that Beelzebub begins to use 2-MiB pages where possible.
These have their own TLBs in L1 and share entries with 4-KiB pages in L2.
Therefore, using 2-MiB pages allows threads and cores to handle significantly larger working sets, which is handy for both the kernel and especially userland.

This requires support from the PMM, which needs to provide aligned pages.

Thus, the following must be implemented:

Plans

vercas commented 8 years ago

This design does not allow lock-free allocation, so the related task was removed from the issue.
It does, however, allow a finer level of locking than the previous design.

Also, working on all features at once. Much easier this way. Will take a while.

vercas commented 8 years ago

Rowhammer-proofing is a book-keeping nightmare, and fails when shared memory is involved.
Will not implement.

vercas commented 8 years ago

Reference counting is not fully implemented yet.

vercas commented 8 years ago

Reference counting is fully implemented.
God help me.