summaryrefslogtreecommitdiff
path: root/notes/260817-release.md
diff options
context:
space:
mode:
Diffstat (limited to 'notes/260817-release.md')
-rw-r--r--notes/260817-release.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/notes/260817-release.md b/notes/260817-release.md
index 44429ab..433db1c 100644
--- a/notes/260817-release.md
+++ b/notes/260817-release.md
@@ -160,6 +160,10 @@ sized (4K), and for each index that represents a completely unused
slot (i.e., the indexes that are inlined within the free-list node)
call `madvise(DONTNEED)` directly on the memory of the slot.
+*Late addition: This would need to happen behind a lock, since other
+threads may otherwise acquire those slots and start writing data into
+them, after which we call `madvise()` and cause it to be erased.*
+
This only works for sufficiently large size classes, but needs no
sorting of indexes in extra memory. How the execution time would
compare depends on how costly `madvise()` is, and how many indexes