Skip to content

refactor: replace waker batch iteration with wake_all - #344

Merged
tisonkun merged 2 commits into
mainfrom
codex/waker-batch-wake-all
Oct 3, 2026
Merged

tisonkun merged 2 commits into
mainfrom
codex/waker-batch-wake-all

Conversation

@tisonkun

@tisonkun tisonkun commented Oct 3, 2026

Copy link
Copy Markdown
Member

Summary

Replace repeated batch iteration with WakerBatch::wake_all(&mut self) and remove its Iterator implementation. Waking the whole batch allows a single inline length and a Vec overflow buffer, while preserving FIFO order and reusing storage between semaphore notification rounds. All callers continue to invoke wake callbacks after unlocking.

Update tests to cover the spill boundary, repeated refill/wake cycles, and destruction of unwoken entries.

Validation: cargo x test (616 tests), cargo x check (26 feature configurations), cargo x lint, and focused WakerBatch Miri checks with the CI flags across four seeds.

Signed-off-by: tison <wander4096@gmail.com>
Signed-off-by: tison <wander4096@gmail.com>
@tisonkun
tisonkun enabled auto-merge (squash) October 3, 2026 04:46
@tisonkun
tisonkun merged commit 31ae746 into main Oct 3, 2026
9 checks passed
@tisonkun
tisonkun deleted the codex/waker-batch-wake-all branch October 3, 2026 04:49
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