diff options
Diffstat (limited to 'notes/260817-release.md')
| -rw-r--r-- | notes/260817-release.md | 4 |
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 |
