Commit Graph

47 Commits

Author SHA1 Message Date
Philipp Oppermann
83239394dd Mention potential bump allocator extensions (#722)
These extensions make it possible to reuse freed memory in more cases. While they would fix the failing test, they are no general solutions.
2020-02-04 08:55:02 +01:00
Philipp Oppermann
670ac60e1b Update Allocator Designs post to use LinkedListAllocator::lock method 2020-01-30 13:04:56 +01:00
Philipp Oppermann
0c67111e68 Merge pull request #721 from phil-opp/align-up-performance
Provide multiple implementations of align_up and mention performance
2020-01-28 10:39:20 +01:00
Philipp Oppermann
16a6aca76a Use bitmask method instead of align_offset
See https://github.com/phil-opp/blog_os/issues/720#issuecomment-578874828
2020-01-28 10:21:20 +01:00
Philipp Oppermann
c0399b04db Update allocator designs post to use checked additions (#727) 2020-01-27 13:25:13 +01:00
Philipp Oppermann
4b8c902354 Fix typo 2020-01-27 12:46:33 +01:00
Philipp Oppermann
3a6aa9834a Provide multiple implementations of align_up and mention performance 2020-01-22 11:36:54 +01:00
Philipp Oppermann
2f926b601c Update release date 2020-01-20 14:18:10 +01:00
Philipp Oppermann
d6da1c8485 Typo fixes 2020-01-20 14:17:44 +01:00
Philipp Oppermann
6ecf2998ee Minor improvements 2020-01-20 14:00:52 +01:00
Philipp Oppermann
13d65e64b5 Improve post introduction 2020-01-20 13:09:46 +01:00
Philipp Oppermann
0b9a80684a Fix typo 2020-01-20 11:47:54 +01:00
Philipp Oppermann
bd94c52c36 What's next? 2020-01-20 11:45:29 +01:00
Philipp Oppermann
9d25a18f9e Write summary 2020-01-20 11:38:02 +01:00
Philipp Oppermann
987138f5bf Write discussion section for fixed-size block allocator 2020-01-20 11:04:21 +01:00
Philipp Oppermann
6368938b9e Link to free list wikipedia article 2020-01-20 10:08:33 +01:00
Philipp Oppermann
deca65eb1f Break long line in code excerpt 2020-01-15 18:23:59 +01:00
Philipp Oppermann
2cfa13a48f Add missing imports 2020-01-15 18:13:43 +01:00
Philipp Oppermann
687c81eedb Array initialization using non-Copy types requires feature gate 2020-01-15 18:06:30 +01:00
Philipp Oppermann
658212c1f5 Add bullet points for discussion section 2020-01-15 17:17:27 +01:00
Philipp Oppermann
04857a063d Write short 'Using it' section 2020-01-15 15:42:16 +01:00
Philipp Oppermann
5d14722601 Store a Option<&mut ListNode in head array instead of a dummy ListNode 2020-01-15 15:34:13 +01:00
Philipp Oppermann
db20a40745 Write implementation section for fixed-size block allocator 2020-01-15 13:42:39 +01:00
Philipp Oppermann
07b1ee0199 Fix internal link 2020-01-15 13:42:08 +01:00
Philipp Oppermann
ad671a3a92 Continue fixed-size block allocator section 2020-01-14 12:34:26 +01:00
Philipp Oppermann
f042761ada Fix typo 2020-01-14 11:50:28 +01:00
Philipp Oppermann
64e5b67f35 Remove old content 2020-01-14 11:49:07 +01:00
Philipp Oppermann
c92b0d46dc Begin introduction for fixed-size block allocator 2020-01-14 11:48:28 +01:00
Philipp Oppermann
1915e6feb4 Minor improvements to linked list section 2020-01-14 11:48:09 +01:00
Philipp Oppermann
8f80378e65 Improve section about performance of linked list allocator 2020-01-14 10:50:32 +01:00
Philipp Oppermann
b34cad7c61 Improve example for merging freed blocks 2020-01-14 10:50:00 +01:00
Philipp Oppermann
e4c07e0356 Fill in images related to merging freed blocks 2020-01-13 13:21:58 +01:00
Philipp Oppermann
6a4fdf94fc Write discussion section 2020-01-13 10:07:25 +01:00
Philipp Oppermann
14c0cc7ece Fix typo 2020-01-10 13:09:31 +01:00
Philipp Oppermann
231b5d587b Update implementation section of linked list allocator 2020-01-10 13:09:20 +01:00
Philipp Oppermann
6cc3449183 Restructure headings 2020-01-09 16:52:47 +01:00
Philipp Oppermann
dda99166d9 Start rewriting linked list allocator section 2020-01-09 16:33:40 +01:00
Philipp Oppermann
f19b93eb34 Fixes and improvements to bump allocator section 2020-01-09 15:43:35 +01:00
Philipp Oppermann
e4652090a8 Finish rewrite of bump allocator section 2020-01-09 13:46:37 +01:00
Philipp Oppermann
851460fe12 Fix typos 2020-01-08 18:03:16 +01:00
Philipp Oppermann
37aa01958a Start rewriting bump allocator section
Remove the `Locked` wrapper type as we can just use `spin::Mutex` directly.
2020-01-08 17:39:26 +01:00
Philipp Oppermann
c3feb6a9e6 Reword design section 2020-01-08 17:38:06 +01:00
Philipp Oppermann
ed157c8a75 Write an introduction 2020-01-08 17:37:40 +01:00
Philipp Oppermann
26fc3ba626 Add a small abstract 2020-01-08 17:37:28 +01:00
Philipp Oppermann
06ea0caece Code will be available in post-11 branch 2020-01-08 12:41:12 +01:00
Philipp Oppermann
620958a8a2 Fix interal links 2020-01-08 12:41:12 +01:00
Philipp Oppermann
5937ec2e04 Reintroduce allocator designs post
The post was split off the Heap Allocations post because it became too large. To keep the tree clean, it was then temporarily removed. This commit restores the post by reverting the removal commit.

This reverts commit 029d77ef21.
2020-01-08 12:41:12 +01:00