From 34fb6b51504bb1db1df0dbbe3c27e1dbb64e5c94 Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Sat, 22 Aug 2026 22:50:17 +0200 Subject: Unfinished note and a note correction. --- notes/260817-release.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'notes/260817-release.md') 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 -- cgit v1.2.3