diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2026-08-22 22:50:17 +0200 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2026-08-22 22:50:17 +0200 |
| commit | 34fb6b51504bb1db1df0dbbe3c27e1dbb64e5c94 (patch) | |
| tree | 83fd8717f9191be5a29511a95ddbeda1c9b6c605 /notes/260817-release.md | |
| parent | 02ad98e6e1f2261adbc1d57129235af962e070c0 (diff) | |
Unfinished note and a note correction.
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 |
