Skip to content

Conversation

@igchor
Copy link
Contributor

@igchor igchor commented Jun 4, 2025

This fixes an issue with cross-queue dependencies. The check for noLastEventPath in the queue was not checking whether all dependencies were ready (so it's safe to bypass the scheduler).

@igchor igchor temporarily deployed to WindowsCILock June 4, 2025 19:40 — with GitHub Actions Inactive
@igchor igchor temporarily deployed to WindowsCILock June 4, 2025 19:40 — with GitHub Actions Inactive
@igchor igchor force-pushed the unify_last_event_logic branch 2 times, most recently from 1e32883 to 35d2040 Compare June 4, 2025 20:02
@igchor igchor force-pushed the unify_last_event_logic branch from 35d2040 to 1d2568b Compare June 4, 2025 20:04
@igchor igchor temporarily deployed to WindowsCILock June 4, 2025 20:05 — with GitHub Actions Inactive
@igchor igchor temporarily deployed to WindowsCILock June 4, 2025 20:30 — with GitHub Actions Inactive
igchor added 3 commits June 4, 2025 21:01
in NoEvents mode.

The lock was mainly needed to protect storing LastEvent, which
is no longer necessary.

Since the lock also provided a memory barrier, change memory
order for load/stores on MNoEventMode to acquire/release to
match the guarantees.
- simplify logic dispatching work to finalizeHandler* functions
- unify logic for deciding whether to store last event with
  logic from handler (for deciding whether to bypass scheduler)
on host-task. This covers case not properly handled by in-order
no event mode optimization.
@igchor igchor temporarily deployed to WindowsCILock June 4, 2025 21:55 — with GitHub Actions Inactive
@igchor igchor closed this Jun 9, 2025
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