summaryrefslogtreecommitdiff
path: root/notes
diff options
context:
space:
mode:
Diffstat (limited to 'notes')
-rw-r--r--notes/260822-release3.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/notes/260822-release3.md b/notes/260822-release3.md
index a9277d1..54b4de8 100644
--- a/notes/260822-release3.md
+++ b/notes/260822-release3.md
@@ -177,6 +177,9 @@ the pointers 1234, 1256, 7800, and 7855 stored in it:
7855 -> [ <empty> ] // Level 3
+*Late clarification: Root cannot a pointer to a slot; the first level
+must be a statically allocated array.*
+
As you can see, the pointer 1234 is both stored in the root node as
data, and happens to point to a node which can hold further pointers
sharing the same first word with it.
@@ -277,6 +280,13 @@ So, we do the following loop:
4. Continue the search to find the next non-NULL pointer; it's the
start of the next span. Go to step 2.
+Note that, if we were to call `madvise(DONTNEED)` immediately after
+creating a vacancy-list entry, we could inadvertently erase memory
+that's still used to hold portions of the trie. So, instead, count
+how many vacancy-list entries were added, and walk through the list
+when we're finished, performing the required `madvise` calls on the
+new entries that were pushed to the top of the list.
+
### Will I add it to Meta Alloc?