Skip to content

Robj/async durable barrier - #688

Merged
rtjohnso merged 6 commits into
mainfrom
robj/async-durable-barrier
Oct 13, 2026
Merged

rtjohnso merged 6 commits into
mainfrom
robj/async-durable-barrier

Conversation

@rtjohnso

Copy link
Copy Markdown
Collaborator

Add support asynchronous durable barriers, using the same notification mechanism from the optimize api.

Also changes the notification infrastructure so that a NULL notification requests blocking, and adds a #define for fire-and-forget. This hopefully makes it a little easier to use blocking and fire-and-forget notification modes.

Make NULL blocking for optimize and durable_barrier, retain caller-owned notifications for tracked completion, and remove the separate async barrier and public blocking initializer. Keep synchronous barriers allocation-free and give internal optimize notifications waiter/completion references for safe cleanup.

Validate lifetime races, shared-process completion, allocation failures, public and internal regressions, and ASan. Record 44 serialized disk-backed measurements, including an unattributed 2.4% repeated-optimize regression and a 16.6 ns inline wrapper increment.
@netlify

netlify Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for splinterdb canceled.

Name Link
🔨 Latest commit 82c3ef6
🔍 Latest deploy log https://app.netlify.com/projects/splinterdb/deploys/6ace6c9f178a50fdc08e7587

@rtjohnso
rtjohnso merged commit 0fa3bd6 into main Oct 13, 2026
113 of 114 checks passed
@rtjohnso
rtjohnso deleted the robj/async-durable-barrier branch October 13, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant